[flash_ctrl] Move flash init to software control instead of hardware
Addresses #6109
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/flash_ctrl/data/flash_ctrl.hjson b/hw/ip/flash_ctrl/data/flash_ctrl.hjson
index 0cc1850..139ef23 100644
--- a/hw/ip/flash_ctrl/data/flash_ctrl.hjson
+++ b/hw/ip/flash_ctrl/data/flash_ctrl.hjson
@@ -118,9 +118,9 @@
},
{ struct: "pwr_flash",
- type: "req_rsp",
+ type: "uni",
name: "pwrmgr",
- act: "rsp",
+ act: "req",
package: "pwrmgr_pkg"
},
@@ -262,6 +262,25 @@
regwidth: "32",
registers: {
core: [
+ { name: "INIT",
+ desc: "Controller init register",
+ swaccess: "rw1s",
+ hwaccess: "hro",
+ fields: [
+ { bits: "0",
+ name: "VAL",
+ desc: '''
+ Initializes the flash controller.
+ During the initialization process, the flash controller reads out the root seeds
+ before allowing other usage of the flash controller.
+ '''
+ resval: "0"
+ tags: [// Dont init flash, it has several side effects on the status bits
+ "excl:CsrAllTests:CsrExclWrite"],
+ },
+ ]
+ },
+
{ name: "CTRL_REGWEN",
swaccess: "ro",
hwaccess: "hwo",
diff --git a/hw/ip/flash_ctrl/data/flash_ctrl.hjson.tpl b/hw/ip/flash_ctrl/data/flash_ctrl.hjson.tpl
index a626265..2439162 100644
--- a/hw/ip/flash_ctrl/data/flash_ctrl.hjson.tpl
+++ b/hw/ip/flash_ctrl/data/flash_ctrl.hjson.tpl
@@ -125,9 +125,9 @@
},
{ struct: "pwr_flash",
- type: "req_rsp",
+ type: "uni",
name: "pwrmgr",
- act: "rsp",
+ act: "req",
package: "pwrmgr_pkg"
},
diff --git a/hw/ip/flash_ctrl/data/flash_ctrl.sv.tpl b/hw/ip/flash_ctrl/data/flash_ctrl.sv.tpl
index 308ddc3..44440b4 100644
--- a/hw/ip/flash_ctrl/data/flash_ctrl.sv.tpl
+++ b/hw/ip/flash_ctrl/data/flash_ctrl.sv.tpl
@@ -47,7 +47,7 @@
input lc_ctrl_pkg::lc_tx_t rma_req_i,
input lc_ctrl_pkg::lc_flash_rma_seed_t rma_seed_i,
output lc_ctrl_pkg::lc_tx_t rma_ack_o,
- output pwrmgr_pkg::pwr_flash_rsp_t pwrmgr_o,
+ output pwrmgr_pkg::pwr_flash_t pwrmgr_o,
output keymgr_flash_t keymgr_o,
// IOs
diff --git a/hw/ip/flash_ctrl/dv/tb/flash_ctrl_wrapper.sv b/hw/ip/flash_ctrl/dv/tb/flash_ctrl_wrapper.sv
index 17bc120..c28d129 100644
--- a/hw/ip/flash_ctrl/dv/tb/flash_ctrl_wrapper.sv
+++ b/hw/ip/flash_ctrl/dv/tb/flash_ctrl_wrapper.sv
@@ -32,8 +32,7 @@
input lc_ctrl_pkg::lc_tx_t lc_iso_part_sw_wr_en_i,
input lc_ctrl_pkg::lc_tx_t lc_seed_hw_rd_en_i,
input lc_ctrl_pkg::lc_tx_t lc_nvm_debug_en_i,
- output pwrmgr_pkg::pwr_flash_rsp_t pwrmgr_o,
- input pwrmgr_pkg::pwr_flash_req_t pwrmgr_i,
+ output pwrmgr_pkg::pwr_flash_t pwrmgr_o,
input lc_ctrl_pkg::lc_tx_t rma_req_i,
input lc_ctrl_pkg::lc_flash_rma_seed_t rma_seed_i,
output lc_ctrl_pkg::lc_tx_t rma_ack_o,
@@ -89,7 +88,6 @@
.rma_req_i (rma_req_i),
.rma_seed_i (rma_seed_i),
.rma_ack_o (rma_ack_o),
- .pwrmgr_i (pwrmgr_i),
.pwrmgr_o (pwrmgr_o),
.clk_i (clk_i),
diff --git a/hw/ip/flash_ctrl/dv/tb/tb.sv b/hw/ip/flash_ctrl/dv/tb/tb.sv
index 8884412..a4d0101 100644
--- a/hw/ip/flash_ctrl/dv/tb/tb.sv
+++ b/hw/ip/flash_ctrl/dv/tb/tb.sv
@@ -59,8 +59,7 @@
.lc_iso_part_sw_wr_en_i (lc_ctrl_pkg::On),
.lc_seed_hw_rd_en_i (lc_ctrl_pkg::On),
.lc_nvm_debug_en_i (lc_ctrl_pkg::Off),
- .pwrmgr_o (pwrmgr_pkg::PWR_FLASH_RSP_DEFAULT),
- .pwrmgr_i (pwrmgr_pkg::PWR_FLASH_REQ_DEFAULT),
+ .pwrmgr_o (pwrmgr_pkg::PWR_FLASH_DEFAULT),
.rma_req_i (lc_ctrl_pkg::Off),
.rma_seed_i ('0),
.rma_ack_o (),
diff --git a/hw/ip/flash_ctrl/lint/flash_ctrl.vlt b/hw/ip/flash_ctrl/lint/flash_ctrl.vlt
index 1795937..f136925 100644
--- a/hw/ip/flash_ctrl/lint/flash_ctrl.vlt
+++ b/hw/ip/flash_ctrl/lint/flash_ctrl.vlt
@@ -17,3 +17,11 @@
// the code too (which is at .../rtl/autogen/flash_ctrl.sv)
lint_off -rule WIDTH -file "*/rtl/*flash_ctrl.sv" -match "Operator ASSIGNW expects 10 bits*MUL generates 32 bits."
+// The following are int parameter assignments into variables
+// While the variables themselves are technically not large enough to accommodate a 32b integer, synthsizers
+// are smart enough to do the right thing
+lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator EQ expects 32 bits on the LHS, but LHS's VARREF 'seed_cnt_q' generates 2 bits."
+lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ADD expects 32 bits on the LHS, but LHS's VARREF 'word_cnt' generates 10 bits."
+lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ASSIGNDLY expects 10 bits on the Assign RHS, but Assign RHS's ADD generates 32 bits."
+lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator ASSIGNW expects 12 bits on the Assign RHS, but Assign RHS's SUB generates 32 bits."
+lint_off -rule WIDTH -file "*flash_ctrl_lcmgr.sv" -match "Operator LT expects 32 bits on the LHS, but LHS's VARREF 'word_cnt' generates 10 bits."
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
index 2e6d474..94cbd51 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
@@ -47,8 +47,7 @@
input lc_ctrl_pkg::lc_tx_t rma_req_i,
input lc_ctrl_pkg::lc_flash_rma_seed_t rma_seed_i,
output lc_ctrl_pkg::lc_tx_t rma_ack_o,
- input pwrmgr_pkg::pwr_flash_req_t pwrmgr_i,
- output pwrmgr_pkg::pwr_flash_rsp_t pwrmgr_o,
+ output pwrmgr_pkg::pwr_flash_t pwrmgr_o,
output keymgr_flash_t keymgr_o,
// IOs
@@ -382,8 +381,7 @@
.clk_otp_i,
.rst_otp_ni,
- .init_i(pwrmgr_i.flash_init),
- .init_done_o(pwrmgr_o.flash_done),
+ .init_i(reg2hw.init),
.provision_en_i(lc_seed_hw_rd_en == lc_ctrl_pkg::On),
// interface to ctrl arb control ports
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_core_reg_top.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_core_reg_top.sv
index 1b7eb76..6772147 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_core_reg_top.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_core_reg_top.sv
@@ -120,10 +120,10 @@
reg_steer = 2; // Default set to register
// TODO: Can below codes be unique case () inside ?
- if (tl_i.a_address[AW-1:0] >= 392 && tl_i.a_address[AW-1:0] < 396) begin
+ if (tl_i.a_address[AW-1:0] >= 396 && tl_i.a_address[AW-1:0] < 400) begin
reg_steer = 0;
end
- if (tl_i.a_address[AW-1:0] >= 396 && tl_i.a_address[AW-1:0] < 400) begin
+ if (tl_i.a_address[AW-1:0] >= 400 && tl_i.a_address[AW-1:0] < 404) begin
reg_steer = 1;
end
if (intg_err) begin
@@ -213,6 +213,9 @@
logic alert_test_recov_ecc_err_we;
logic alert_test_fatal_intg_err_wd;
logic alert_test_fatal_intg_err_we;
+ logic init_qs;
+ logic init_wd;
+ logic init_we;
logic ctrl_regwen_qs;
logic ctrl_regwen_re;
logic control_start_qs;
@@ -1690,6 +1693,33 @@
);
+ // R[init]: V(False)
+
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("W1S"),
+ .RESVAL (1'h0)
+ ) u_init (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (init_we),
+ .wd (init_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.init.q ),
+
+ // to register interface (read)
+ .qs (init_qs)
+ );
+
+
// R[ctrl_regwen]: V(True)
prim_subreg_ext #(
@@ -10820,107 +10850,108 @@
- logic [97:0] addr_hit;
+ logic [98:0] addr_hit;
always_comb begin
addr_hit = '0;
addr_hit[ 0] = (reg_addr == FLASH_CTRL_INTR_STATE_OFFSET);
addr_hit[ 1] = (reg_addr == FLASH_CTRL_INTR_ENABLE_OFFSET);
addr_hit[ 2] = (reg_addr == FLASH_CTRL_INTR_TEST_OFFSET);
addr_hit[ 3] = (reg_addr == FLASH_CTRL_ALERT_TEST_OFFSET);
- addr_hit[ 4] = (reg_addr == FLASH_CTRL_CTRL_REGWEN_OFFSET);
- addr_hit[ 5] = (reg_addr == FLASH_CTRL_CONTROL_OFFSET);
- addr_hit[ 6] = (reg_addr == FLASH_CTRL_ADDR_OFFSET);
- addr_hit[ 7] = (reg_addr == FLASH_CTRL_PROG_TYPE_EN_OFFSET);
- addr_hit[ 8] = (reg_addr == FLASH_CTRL_ERASE_SUSPEND_OFFSET);
- addr_hit[ 9] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET);
- addr_hit[10] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET);
- addr_hit[11] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET);
- addr_hit[12] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET);
- addr_hit[13] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET);
- addr_hit[14] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET);
- addr_hit[15] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET);
- addr_hit[16] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET);
- addr_hit[17] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_0_OFFSET);
- addr_hit[18] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_1_OFFSET);
- addr_hit[19] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_2_OFFSET);
- addr_hit[20] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_3_OFFSET);
- addr_hit[21] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_4_OFFSET);
- addr_hit[22] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_5_OFFSET);
- addr_hit[23] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_6_OFFSET);
- addr_hit[24] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_7_OFFSET);
- addr_hit[25] = (reg_addr == FLASH_CTRL_DEFAULT_REGION_OFFSET);
- addr_hit[26] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET);
- addr_hit[27] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET);
- addr_hit[28] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET);
- addr_hit[29] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET);
- addr_hit[30] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET);
- addr_hit[31] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET);
- addr_hit[32] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET);
- addr_hit[33] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET);
- addr_hit[34] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET);
- addr_hit[35] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET);
- addr_hit[36] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[37] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[38] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[39] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[40] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[41] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[42] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[43] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[44] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[45] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[46] = (reg_addr == FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET);
- addr_hit[47] = (reg_addr == FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET);
- addr_hit[48] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET);
- addr_hit[49] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET);
- addr_hit[50] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[51] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[52] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET);
- addr_hit[53] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET);
- addr_hit[54] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET);
- addr_hit[55] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET);
- addr_hit[56] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET);
- addr_hit[57] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET);
- addr_hit[58] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET);
- addr_hit[59] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET);
- addr_hit[60] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET);
- addr_hit[61] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET);
- addr_hit[62] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[63] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[64] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[65] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[66] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[67] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[68] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[69] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[70] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[71] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[72] = (reg_addr == FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET);
- addr_hit[73] = (reg_addr == FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET);
- addr_hit[74] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET);
- addr_hit[75] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET);
- addr_hit[76] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[77] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[78] = (reg_addr == FLASH_CTRL_BANK_CFG_REGWEN_OFFSET);
- addr_hit[79] = (reg_addr == FLASH_CTRL_MP_BANK_CFG_OFFSET);
- addr_hit[80] = (reg_addr == FLASH_CTRL_OP_STATUS_OFFSET);
- addr_hit[81] = (reg_addr == FLASH_CTRL_STATUS_OFFSET);
- addr_hit[82] = (reg_addr == FLASH_CTRL_ERR_CODE_INTR_EN_OFFSET);
- addr_hit[83] = (reg_addr == FLASH_CTRL_ERR_CODE_OFFSET);
- addr_hit[84] = (reg_addr == FLASH_CTRL_ERR_ADDR_OFFSET);
- addr_hit[85] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_CNT_OFFSET);
- addr_hit[86] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0_OFFSET);
- addr_hit[87] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1_OFFSET);
- addr_hit[88] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_CNT_OFFSET);
- addr_hit[89] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_ADDR_0_OFFSET);
- addr_hit[90] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_ADDR_1_OFFSET);
- addr_hit[91] = (reg_addr == FLASH_CTRL_PHY_ERR_CFG_REGWEN_OFFSET);
- addr_hit[92] = (reg_addr == FLASH_CTRL_PHY_ERR_CFG_OFFSET);
- addr_hit[93] = (reg_addr == FLASH_CTRL_PHY_ALERT_CFG_OFFSET);
- addr_hit[94] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
- addr_hit[95] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
- addr_hit[96] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
- addr_hit[97] = (reg_addr == FLASH_CTRL_FIFO_RST_OFFSET);
+ addr_hit[ 4] = (reg_addr == FLASH_CTRL_INIT_OFFSET);
+ addr_hit[ 5] = (reg_addr == FLASH_CTRL_CTRL_REGWEN_OFFSET);
+ addr_hit[ 6] = (reg_addr == FLASH_CTRL_CONTROL_OFFSET);
+ addr_hit[ 7] = (reg_addr == FLASH_CTRL_ADDR_OFFSET);
+ addr_hit[ 8] = (reg_addr == FLASH_CTRL_PROG_TYPE_EN_OFFSET);
+ addr_hit[ 9] = (reg_addr == FLASH_CTRL_ERASE_SUSPEND_OFFSET);
+ addr_hit[10] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET);
+ addr_hit[11] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET);
+ addr_hit[12] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET);
+ addr_hit[13] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET);
+ addr_hit[14] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET);
+ addr_hit[15] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET);
+ addr_hit[16] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET);
+ addr_hit[17] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET);
+ addr_hit[18] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_0_OFFSET);
+ addr_hit[19] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_1_OFFSET);
+ addr_hit[20] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_2_OFFSET);
+ addr_hit[21] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_3_OFFSET);
+ addr_hit[22] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_4_OFFSET);
+ addr_hit[23] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_5_OFFSET);
+ addr_hit[24] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_6_OFFSET);
+ addr_hit[25] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_7_OFFSET);
+ addr_hit[26] = (reg_addr == FLASH_CTRL_DEFAULT_REGION_OFFSET);
+ addr_hit[27] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET);
+ addr_hit[28] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET);
+ addr_hit[29] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET);
+ addr_hit[30] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET);
+ addr_hit[31] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET);
+ addr_hit[32] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET);
+ addr_hit[33] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET);
+ addr_hit[34] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET);
+ addr_hit[35] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET);
+ addr_hit[36] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET);
+ addr_hit[37] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET);
+ addr_hit[38] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET);
+ addr_hit[39] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET);
+ addr_hit[40] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET);
+ addr_hit[41] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET);
+ addr_hit[42] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET);
+ addr_hit[43] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET);
+ addr_hit[44] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET);
+ addr_hit[45] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET);
+ addr_hit[46] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET);
+ addr_hit[47] = (reg_addr == FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET);
+ addr_hit[48] = (reg_addr == FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET);
+ addr_hit[49] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET);
+ addr_hit[50] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET);
+ addr_hit[51] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET);
+ addr_hit[52] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET);
+ addr_hit[53] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET);
+ addr_hit[54] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET);
+ addr_hit[55] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET);
+ addr_hit[56] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET);
+ addr_hit[57] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET);
+ addr_hit[58] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET);
+ addr_hit[59] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET);
+ addr_hit[60] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET);
+ addr_hit[61] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET);
+ addr_hit[62] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET);
+ addr_hit[63] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET);
+ addr_hit[64] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET);
+ addr_hit[65] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET);
+ addr_hit[66] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET);
+ addr_hit[67] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET);
+ addr_hit[68] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET);
+ addr_hit[69] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET);
+ addr_hit[70] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET);
+ addr_hit[71] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET);
+ addr_hit[72] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET);
+ addr_hit[73] = (reg_addr == FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET);
+ addr_hit[74] = (reg_addr == FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET);
+ addr_hit[75] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET);
+ addr_hit[76] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET);
+ addr_hit[77] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET);
+ addr_hit[78] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET);
+ addr_hit[79] = (reg_addr == FLASH_CTRL_BANK_CFG_REGWEN_OFFSET);
+ addr_hit[80] = (reg_addr == FLASH_CTRL_MP_BANK_CFG_OFFSET);
+ addr_hit[81] = (reg_addr == FLASH_CTRL_OP_STATUS_OFFSET);
+ addr_hit[82] = (reg_addr == FLASH_CTRL_STATUS_OFFSET);
+ addr_hit[83] = (reg_addr == FLASH_CTRL_ERR_CODE_INTR_EN_OFFSET);
+ addr_hit[84] = (reg_addr == FLASH_CTRL_ERR_CODE_OFFSET);
+ addr_hit[85] = (reg_addr == FLASH_CTRL_ERR_ADDR_OFFSET);
+ addr_hit[86] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_CNT_OFFSET);
+ addr_hit[87] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0_OFFSET);
+ addr_hit[88] = (reg_addr == FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1_OFFSET);
+ addr_hit[89] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_CNT_OFFSET);
+ addr_hit[90] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_ADDR_0_OFFSET);
+ addr_hit[91] = (reg_addr == FLASH_CTRL_ECC_MULTI_ERR_ADDR_1_OFFSET);
+ addr_hit[92] = (reg_addr == FLASH_CTRL_PHY_ERR_CFG_REGWEN_OFFSET);
+ addr_hit[93] = (reg_addr == FLASH_CTRL_PHY_ERR_CFG_OFFSET);
+ addr_hit[94] = (reg_addr == FLASH_CTRL_PHY_ALERT_CFG_OFFSET);
+ addr_hit[95] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
+ addr_hit[96] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
+ addr_hit[97] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
+ addr_hit[98] = (reg_addr == FLASH_CTRL_FIFO_RST_OFFSET);
end
assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -11026,6 +11057,7 @@
if (addr_hit[95] && reg_we && (FLASH_CTRL_CORE_PERMIT[95] != (FLASH_CTRL_CORE_PERMIT[95] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[96] && reg_we && (FLASH_CTRL_CORE_PERMIT[96] != (FLASH_CTRL_CORE_PERMIT[96] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[97] && reg_we && (FLASH_CTRL_CORE_PERMIT[97] != (FLASH_CTRL_CORE_PERMIT[97] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[98] && reg_we && (FLASH_CTRL_CORE_PERMIT[98] != (FLASH_CTRL_CORE_PERMIT[98] & reg_be))) wr_err = 1'b1 ;
end
assign intr_state_prog_empty_we = addr_hit[0] & reg_we & !reg_error;
@@ -11094,996 +11126,999 @@
assign alert_test_fatal_intg_err_we = addr_hit[3] & reg_we & !reg_error;
assign alert_test_fatal_intg_err_wd = reg_wdata[3];
- assign ctrl_regwen_re = addr_hit[4] & reg_re & !reg_error;
+ assign init_we = addr_hit[4] & reg_we & !reg_error;
+ assign init_wd = reg_wdata[0];
- assign control_start_we = addr_hit[5] & reg_we & !reg_error;
+ assign ctrl_regwen_re = addr_hit[5] & reg_re & !reg_error;
+
+ assign control_start_we = addr_hit[6] & reg_we & !reg_error;
assign control_start_wd = reg_wdata[0];
- assign control_op_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_op_we = addr_hit[6] & reg_we & !reg_error;
assign control_op_wd = reg_wdata[5:4];
- assign control_prog_sel_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_prog_sel_we = addr_hit[6] & reg_we & !reg_error;
assign control_prog_sel_wd = reg_wdata[6];
- assign control_erase_sel_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_erase_sel_we = addr_hit[6] & reg_we & !reg_error;
assign control_erase_sel_wd = reg_wdata[7];
- assign control_partition_sel_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_partition_sel_we = addr_hit[6] & reg_we & !reg_error;
assign control_partition_sel_wd = reg_wdata[8];
- assign control_info_sel_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_info_sel_we = addr_hit[6] & reg_we & !reg_error;
assign control_info_sel_wd = reg_wdata[10:9];
- assign control_num_we = addr_hit[5] & reg_we & !reg_error;
+ assign control_num_we = addr_hit[6] & reg_we & !reg_error;
assign control_num_wd = reg_wdata[27:16];
- assign addr_we = addr_hit[6] & reg_we & !reg_error;
+ assign addr_we = addr_hit[7] & reg_we & !reg_error;
assign addr_wd = reg_wdata[31:0];
- assign prog_type_en_normal_we = addr_hit[7] & reg_we & !reg_error;
+ assign prog_type_en_normal_we = addr_hit[8] & reg_we & !reg_error;
assign prog_type_en_normal_wd = reg_wdata[0];
- assign prog_type_en_repair_we = addr_hit[7] & reg_we & !reg_error;
+ assign prog_type_en_repair_we = addr_hit[8] & reg_we & !reg_error;
assign prog_type_en_repair_wd = reg_wdata[1];
- assign erase_suspend_we = addr_hit[8] & reg_we & !reg_error;
+ assign erase_suspend_we = addr_hit[9] & reg_we & !reg_error;
assign erase_suspend_wd = reg_wdata[0];
- assign region_cfg_regwen_0_we = addr_hit[9] & reg_we & !reg_error;
+ assign region_cfg_regwen_0_we = addr_hit[10] & reg_we & !reg_error;
assign region_cfg_regwen_0_wd = reg_wdata[0];
- assign region_cfg_regwen_1_we = addr_hit[10] & reg_we & !reg_error;
+ assign region_cfg_regwen_1_we = addr_hit[11] & reg_we & !reg_error;
assign region_cfg_regwen_1_wd = reg_wdata[0];
- assign region_cfg_regwen_2_we = addr_hit[11] & reg_we & !reg_error;
+ assign region_cfg_regwen_2_we = addr_hit[12] & reg_we & !reg_error;
assign region_cfg_regwen_2_wd = reg_wdata[0];
- assign region_cfg_regwen_3_we = addr_hit[12] & reg_we & !reg_error;
+ assign region_cfg_regwen_3_we = addr_hit[13] & reg_we & !reg_error;
assign region_cfg_regwen_3_wd = reg_wdata[0];
- assign region_cfg_regwen_4_we = addr_hit[13] & reg_we & !reg_error;
+ assign region_cfg_regwen_4_we = addr_hit[14] & reg_we & !reg_error;
assign region_cfg_regwen_4_wd = reg_wdata[0];
- assign region_cfg_regwen_5_we = addr_hit[14] & reg_we & !reg_error;
+ assign region_cfg_regwen_5_we = addr_hit[15] & reg_we & !reg_error;
assign region_cfg_regwen_5_wd = reg_wdata[0];
- assign region_cfg_regwen_6_we = addr_hit[15] & reg_we & !reg_error;
+ assign region_cfg_regwen_6_we = addr_hit[16] & reg_we & !reg_error;
assign region_cfg_regwen_6_wd = reg_wdata[0];
- assign region_cfg_regwen_7_we = addr_hit[16] & reg_we & !reg_error;
+ assign region_cfg_regwen_7_we = addr_hit[17] & reg_we & !reg_error;
assign region_cfg_regwen_7_wd = reg_wdata[0];
- assign mp_region_cfg_0_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_en_0_wd = reg_wdata[0];
- assign mp_region_cfg_0_rd_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_rd_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign mp_region_cfg_0_prog_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_prog_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign mp_region_cfg_0_erase_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_erase_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign mp_region_cfg_0_scramble_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_scramble_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign mp_region_cfg_0_ecc_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_ecc_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign mp_region_cfg_0_he_en_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_he_en_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_he_en_0_wd = reg_wdata[6];
- assign mp_region_cfg_0_base_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_base_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_base_0_wd = reg_wdata[16:8];
- assign mp_region_cfg_0_size_0_we = addr_hit[17] & reg_we & !reg_error;
+ assign mp_region_cfg_0_size_0_we = addr_hit[18] & reg_we & !reg_error;
assign mp_region_cfg_0_size_0_wd = reg_wdata[26:17];
- assign mp_region_cfg_1_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_en_1_wd = reg_wdata[0];
- assign mp_region_cfg_1_rd_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_rd_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign mp_region_cfg_1_prog_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_prog_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign mp_region_cfg_1_erase_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_erase_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign mp_region_cfg_1_scramble_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_scramble_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign mp_region_cfg_1_ecc_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_ecc_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign mp_region_cfg_1_he_en_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_he_en_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_he_en_1_wd = reg_wdata[6];
- assign mp_region_cfg_1_base_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_base_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_base_1_wd = reg_wdata[16:8];
- assign mp_region_cfg_1_size_1_we = addr_hit[18] & reg_we & !reg_error;
+ assign mp_region_cfg_1_size_1_we = addr_hit[19] & reg_we & !reg_error;
assign mp_region_cfg_1_size_1_wd = reg_wdata[26:17];
- assign mp_region_cfg_2_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_en_2_wd = reg_wdata[0];
- assign mp_region_cfg_2_rd_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_rd_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_rd_en_2_wd = reg_wdata[1];
- assign mp_region_cfg_2_prog_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_prog_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_prog_en_2_wd = reg_wdata[2];
- assign mp_region_cfg_2_erase_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_erase_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_erase_en_2_wd = reg_wdata[3];
- assign mp_region_cfg_2_scramble_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_scramble_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_scramble_en_2_wd = reg_wdata[4];
- assign mp_region_cfg_2_ecc_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_ecc_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_ecc_en_2_wd = reg_wdata[5];
- assign mp_region_cfg_2_he_en_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_he_en_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_he_en_2_wd = reg_wdata[6];
- assign mp_region_cfg_2_base_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_base_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_base_2_wd = reg_wdata[16:8];
- assign mp_region_cfg_2_size_2_we = addr_hit[19] & reg_we & !reg_error;
+ assign mp_region_cfg_2_size_2_we = addr_hit[20] & reg_we & !reg_error;
assign mp_region_cfg_2_size_2_wd = reg_wdata[26:17];
- assign mp_region_cfg_3_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_en_3_wd = reg_wdata[0];
- assign mp_region_cfg_3_rd_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_rd_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_rd_en_3_wd = reg_wdata[1];
- assign mp_region_cfg_3_prog_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_prog_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_prog_en_3_wd = reg_wdata[2];
- assign mp_region_cfg_3_erase_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_erase_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_erase_en_3_wd = reg_wdata[3];
- assign mp_region_cfg_3_scramble_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_scramble_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_scramble_en_3_wd = reg_wdata[4];
- assign mp_region_cfg_3_ecc_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_ecc_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_ecc_en_3_wd = reg_wdata[5];
- assign mp_region_cfg_3_he_en_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_he_en_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_he_en_3_wd = reg_wdata[6];
- assign mp_region_cfg_3_base_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_base_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_base_3_wd = reg_wdata[16:8];
- assign mp_region_cfg_3_size_3_we = addr_hit[20] & reg_we & !reg_error;
+ assign mp_region_cfg_3_size_3_we = addr_hit[21] & reg_we & !reg_error;
assign mp_region_cfg_3_size_3_wd = reg_wdata[26:17];
- assign mp_region_cfg_4_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_en_4_wd = reg_wdata[0];
- assign mp_region_cfg_4_rd_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_rd_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_rd_en_4_wd = reg_wdata[1];
- assign mp_region_cfg_4_prog_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_prog_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_prog_en_4_wd = reg_wdata[2];
- assign mp_region_cfg_4_erase_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_erase_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_erase_en_4_wd = reg_wdata[3];
- assign mp_region_cfg_4_scramble_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_scramble_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_scramble_en_4_wd = reg_wdata[4];
- assign mp_region_cfg_4_ecc_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_ecc_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_ecc_en_4_wd = reg_wdata[5];
- assign mp_region_cfg_4_he_en_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_he_en_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_he_en_4_wd = reg_wdata[6];
- assign mp_region_cfg_4_base_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_base_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_base_4_wd = reg_wdata[16:8];
- assign mp_region_cfg_4_size_4_we = addr_hit[21] & reg_we & !reg_error;
+ assign mp_region_cfg_4_size_4_we = addr_hit[22] & reg_we & !reg_error;
assign mp_region_cfg_4_size_4_wd = reg_wdata[26:17];
- assign mp_region_cfg_5_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_en_5_wd = reg_wdata[0];
- assign mp_region_cfg_5_rd_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_rd_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_rd_en_5_wd = reg_wdata[1];
- assign mp_region_cfg_5_prog_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_prog_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_prog_en_5_wd = reg_wdata[2];
- assign mp_region_cfg_5_erase_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_erase_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_erase_en_5_wd = reg_wdata[3];
- assign mp_region_cfg_5_scramble_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_scramble_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_scramble_en_5_wd = reg_wdata[4];
- assign mp_region_cfg_5_ecc_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_ecc_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_ecc_en_5_wd = reg_wdata[5];
- assign mp_region_cfg_5_he_en_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_he_en_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_he_en_5_wd = reg_wdata[6];
- assign mp_region_cfg_5_base_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_base_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_base_5_wd = reg_wdata[16:8];
- assign mp_region_cfg_5_size_5_we = addr_hit[22] & reg_we & !reg_error;
+ assign mp_region_cfg_5_size_5_we = addr_hit[23] & reg_we & !reg_error;
assign mp_region_cfg_5_size_5_wd = reg_wdata[26:17];
- assign mp_region_cfg_6_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_en_6_wd = reg_wdata[0];
- assign mp_region_cfg_6_rd_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_rd_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_rd_en_6_wd = reg_wdata[1];
- assign mp_region_cfg_6_prog_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_prog_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_prog_en_6_wd = reg_wdata[2];
- assign mp_region_cfg_6_erase_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_erase_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_erase_en_6_wd = reg_wdata[3];
- assign mp_region_cfg_6_scramble_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_scramble_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_scramble_en_6_wd = reg_wdata[4];
- assign mp_region_cfg_6_ecc_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_ecc_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_ecc_en_6_wd = reg_wdata[5];
- assign mp_region_cfg_6_he_en_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_he_en_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_he_en_6_wd = reg_wdata[6];
- assign mp_region_cfg_6_base_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_base_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_base_6_wd = reg_wdata[16:8];
- assign mp_region_cfg_6_size_6_we = addr_hit[23] & reg_we & !reg_error;
+ assign mp_region_cfg_6_size_6_we = addr_hit[24] & reg_we & !reg_error;
assign mp_region_cfg_6_size_6_wd = reg_wdata[26:17];
- assign mp_region_cfg_7_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_en_7_wd = reg_wdata[0];
- assign mp_region_cfg_7_rd_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_rd_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_rd_en_7_wd = reg_wdata[1];
- assign mp_region_cfg_7_prog_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_prog_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_prog_en_7_wd = reg_wdata[2];
- assign mp_region_cfg_7_erase_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_erase_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_erase_en_7_wd = reg_wdata[3];
- assign mp_region_cfg_7_scramble_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_scramble_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_scramble_en_7_wd = reg_wdata[4];
- assign mp_region_cfg_7_ecc_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_ecc_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_ecc_en_7_wd = reg_wdata[5];
- assign mp_region_cfg_7_he_en_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_he_en_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_he_en_7_wd = reg_wdata[6];
- assign mp_region_cfg_7_base_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_base_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_base_7_wd = reg_wdata[16:8];
- assign mp_region_cfg_7_size_7_we = addr_hit[24] & reg_we & !reg_error;
+ assign mp_region_cfg_7_size_7_we = addr_hit[25] & reg_we & !reg_error;
assign mp_region_cfg_7_size_7_wd = reg_wdata[26:17];
- assign default_region_rd_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_rd_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_rd_en_wd = reg_wdata[0];
- assign default_region_prog_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_prog_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_prog_en_wd = reg_wdata[1];
- assign default_region_erase_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_erase_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_erase_en_wd = reg_wdata[2];
- assign default_region_scramble_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_scramble_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_scramble_en_wd = reg_wdata[3];
- assign default_region_ecc_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_ecc_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_ecc_en_wd = reg_wdata[4];
- assign default_region_he_en_we = addr_hit[25] & reg_we & !reg_error;
+ assign default_region_he_en_we = addr_hit[26] & reg_we & !reg_error;
assign default_region_he_en_wd = reg_wdata[5];
- assign bank0_info0_regwen_0_we = addr_hit[26] & reg_we & !reg_error;
+ assign bank0_info0_regwen_0_we = addr_hit[27] & reg_we & !reg_error;
assign bank0_info0_regwen_0_wd = reg_wdata[0];
- assign bank0_info0_regwen_1_we = addr_hit[27] & reg_we & !reg_error;
+ assign bank0_info0_regwen_1_we = addr_hit[28] & reg_we & !reg_error;
assign bank0_info0_regwen_1_wd = reg_wdata[0];
- assign bank0_info0_regwen_2_we = addr_hit[28] & reg_we & !reg_error;
+ assign bank0_info0_regwen_2_we = addr_hit[29] & reg_we & !reg_error;
assign bank0_info0_regwen_2_wd = reg_wdata[0];
- assign bank0_info0_regwen_3_we = addr_hit[29] & reg_we & !reg_error;
+ assign bank0_info0_regwen_3_we = addr_hit[30] & reg_we & !reg_error;
assign bank0_info0_regwen_3_wd = reg_wdata[0];
- assign bank0_info0_regwen_4_we = addr_hit[30] & reg_we & !reg_error;
+ assign bank0_info0_regwen_4_we = addr_hit[31] & reg_we & !reg_error;
assign bank0_info0_regwen_4_wd = reg_wdata[0];
- assign bank0_info0_regwen_5_we = addr_hit[31] & reg_we & !reg_error;
+ assign bank0_info0_regwen_5_we = addr_hit[32] & reg_we & !reg_error;
assign bank0_info0_regwen_5_wd = reg_wdata[0];
- assign bank0_info0_regwen_6_we = addr_hit[32] & reg_we & !reg_error;
+ assign bank0_info0_regwen_6_we = addr_hit[33] & reg_we & !reg_error;
assign bank0_info0_regwen_6_wd = reg_wdata[0];
- assign bank0_info0_regwen_7_we = addr_hit[33] & reg_we & !reg_error;
+ assign bank0_info0_regwen_7_we = addr_hit[34] & reg_we & !reg_error;
assign bank0_info0_regwen_7_wd = reg_wdata[0];
- assign bank0_info0_regwen_8_we = addr_hit[34] & reg_we & !reg_error;
+ assign bank0_info0_regwen_8_we = addr_hit[35] & reg_we & !reg_error;
assign bank0_info0_regwen_8_wd = reg_wdata[0];
- assign bank0_info0_regwen_9_we = addr_hit[35] & reg_we & !reg_error;
+ assign bank0_info0_regwen_9_we = addr_hit[36] & reg_we & !reg_error;
assign bank0_info0_regwen_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_0_prog_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_prog_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_0_erase_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_erase_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_0_scramble_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_scramble_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_0_ecc_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_ecc_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_0_he_en_0_we = addr_hit[36] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_0_he_en_0_we = addr_hit[37] & reg_we & !reg_error;
assign bank0_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_1_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_1_prog_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_prog_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_1_erase_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_erase_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_1_scramble_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_scramble_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_1_ecc_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_ecc_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_1_he_en_1_we = addr_hit[37] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_1_he_en_1_we = addr_hit[38] & reg_we & !reg_error;
assign bank0_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_2_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_rd_en_2_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_2_prog_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_prog_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_prog_en_2_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_2_erase_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_erase_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_erase_en_2_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_2_scramble_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_scramble_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_scramble_en_2_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_2_ecc_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_ecc_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_ecc_en_2_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_2_he_en_2_we = addr_hit[38] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_2_he_en_2_we = addr_hit[39] & reg_we & !reg_error;
assign bank0_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_3_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_rd_en_3_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_3_prog_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_prog_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_prog_en_3_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_3_erase_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_erase_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_erase_en_3_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_3_scramble_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_scramble_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_scramble_en_3_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_3_ecc_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_ecc_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_ecc_en_3_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_3_he_en_3_we = addr_hit[39] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_3_he_en_3_we = addr_hit[40] & reg_we & !reg_error;
assign bank0_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_4_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_rd_en_4_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_4_prog_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_prog_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_prog_en_4_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_4_erase_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_erase_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_erase_en_4_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_4_scramble_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_scramble_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_scramble_en_4_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_4_ecc_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_ecc_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_ecc_en_4_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_4_he_en_4_we = addr_hit[40] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_4_he_en_4_we = addr_hit[41] & reg_we & !reg_error;
assign bank0_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_5_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_rd_en_5_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_5_prog_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_prog_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_prog_en_5_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_5_erase_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_erase_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_erase_en_5_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_5_scramble_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_scramble_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_scramble_en_5_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_5_ecc_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_ecc_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_ecc_en_5_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_5_he_en_5_we = addr_hit[41] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_5_he_en_5_we = addr_hit[42] & reg_we & !reg_error;
assign bank0_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_6_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_rd_en_6_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_6_prog_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_prog_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_prog_en_6_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_6_erase_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_erase_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_erase_en_6_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_6_scramble_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_scramble_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_scramble_en_6_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_6_ecc_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_ecc_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_ecc_en_6_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_6_he_en_6_we = addr_hit[42] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_6_he_en_6_we = addr_hit[43] & reg_we & !reg_error;
assign bank0_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_7_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_rd_en_7_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_7_prog_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_prog_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_prog_en_7_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_7_erase_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_erase_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_erase_en_7_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_7_scramble_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_scramble_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_scramble_en_7_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_7_ecc_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_ecc_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_ecc_en_7_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_7_he_en_7_we = addr_hit[43] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_7_he_en_7_we = addr_hit[44] & reg_we & !reg_error;
assign bank0_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_8_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_rd_en_8_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_8_prog_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_prog_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_prog_en_8_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_8_erase_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_erase_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_erase_en_8_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_8_scramble_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_scramble_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_scramble_en_8_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_8_ecc_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_ecc_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_ecc_en_8_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_8_he_en_8_we = addr_hit[44] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_8_he_en_8_we = addr_hit[45] & reg_we & !reg_error;
assign bank0_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_9_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_rd_en_9_wd = reg_wdata[1];
- assign bank0_info0_page_cfg_9_prog_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_prog_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_prog_en_9_wd = reg_wdata[2];
- assign bank0_info0_page_cfg_9_erase_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_erase_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_erase_en_9_wd = reg_wdata[3];
- assign bank0_info0_page_cfg_9_scramble_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_scramble_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_scramble_en_9_wd = reg_wdata[4];
- assign bank0_info0_page_cfg_9_ecc_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_ecc_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_ecc_en_9_wd = reg_wdata[5];
- assign bank0_info0_page_cfg_9_he_en_9_we = addr_hit[45] & reg_we & !reg_error;
+ assign bank0_info0_page_cfg_9_he_en_9_we = addr_hit[46] & reg_we & !reg_error;
assign bank0_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank0_info1_regwen_we = addr_hit[46] & reg_we & !reg_error;
+ assign bank0_info1_regwen_we = addr_hit[47] & reg_we & !reg_error;
assign bank0_info1_regwen_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank0_info1_page_cfg_he_en_0_we = addr_hit[47] & reg_we & !reg_error;
+ assign bank0_info1_page_cfg_he_en_0_we = addr_hit[48] & reg_we & !reg_error;
assign bank0_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_regwen_0_we = addr_hit[48] & reg_we & !reg_error;
+ assign bank0_info2_regwen_0_we = addr_hit[49] & reg_we & !reg_error;
assign bank0_info2_regwen_0_wd = reg_wdata[0];
- assign bank0_info2_regwen_1_we = addr_hit[49] & reg_we & !reg_error;
+ assign bank0_info2_regwen_1_we = addr_hit[50] & reg_we & !reg_error;
assign bank0_info2_regwen_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign bank0_info2_page_cfg_0_prog_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_prog_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign bank0_info2_page_cfg_0_erase_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_erase_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign bank0_info2_page_cfg_0_scramble_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_scramble_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign bank0_info2_page_cfg_0_ecc_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_ecc_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign bank0_info2_page_cfg_0_he_en_0_we = addr_hit[50] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_0_he_en_0_we = addr_hit[51] & reg_we & !reg_error;
assign bank0_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_page_cfg_1_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign bank0_info2_page_cfg_1_prog_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_prog_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign bank0_info2_page_cfg_1_erase_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_erase_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign bank0_info2_page_cfg_1_scramble_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_scramble_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign bank0_info2_page_cfg_1_ecc_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_ecc_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign bank0_info2_page_cfg_1_he_en_1_we = addr_hit[51] & reg_we & !reg_error;
+ assign bank0_info2_page_cfg_1_he_en_1_we = addr_hit[52] & reg_we & !reg_error;
assign bank0_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_regwen_0_we = addr_hit[52] & reg_we & !reg_error;
+ assign bank1_info0_regwen_0_we = addr_hit[53] & reg_we & !reg_error;
assign bank1_info0_regwen_0_wd = reg_wdata[0];
- assign bank1_info0_regwen_1_we = addr_hit[53] & reg_we & !reg_error;
+ assign bank1_info0_regwen_1_we = addr_hit[54] & reg_we & !reg_error;
assign bank1_info0_regwen_1_wd = reg_wdata[0];
- assign bank1_info0_regwen_2_we = addr_hit[54] & reg_we & !reg_error;
+ assign bank1_info0_regwen_2_we = addr_hit[55] & reg_we & !reg_error;
assign bank1_info0_regwen_2_wd = reg_wdata[0];
- assign bank1_info0_regwen_3_we = addr_hit[55] & reg_we & !reg_error;
+ assign bank1_info0_regwen_3_we = addr_hit[56] & reg_we & !reg_error;
assign bank1_info0_regwen_3_wd = reg_wdata[0];
- assign bank1_info0_regwen_4_we = addr_hit[56] & reg_we & !reg_error;
+ assign bank1_info0_regwen_4_we = addr_hit[57] & reg_we & !reg_error;
assign bank1_info0_regwen_4_wd = reg_wdata[0];
- assign bank1_info0_regwen_5_we = addr_hit[57] & reg_we & !reg_error;
+ assign bank1_info0_regwen_5_we = addr_hit[58] & reg_we & !reg_error;
assign bank1_info0_regwen_5_wd = reg_wdata[0];
- assign bank1_info0_regwen_6_we = addr_hit[58] & reg_we & !reg_error;
+ assign bank1_info0_regwen_6_we = addr_hit[59] & reg_we & !reg_error;
assign bank1_info0_regwen_6_wd = reg_wdata[0];
- assign bank1_info0_regwen_7_we = addr_hit[59] & reg_we & !reg_error;
+ assign bank1_info0_regwen_7_we = addr_hit[60] & reg_we & !reg_error;
assign bank1_info0_regwen_7_wd = reg_wdata[0];
- assign bank1_info0_regwen_8_we = addr_hit[60] & reg_we & !reg_error;
+ assign bank1_info0_regwen_8_we = addr_hit[61] & reg_we & !reg_error;
assign bank1_info0_regwen_8_wd = reg_wdata[0];
- assign bank1_info0_regwen_9_we = addr_hit[61] & reg_we & !reg_error;
+ assign bank1_info0_regwen_9_we = addr_hit[62] & reg_we & !reg_error;
assign bank1_info0_regwen_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_0_prog_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_prog_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_0_erase_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_erase_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_0_scramble_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_scramble_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_0_ecc_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_ecc_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_0_he_en_0_we = addr_hit[62] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_0_he_en_0_we = addr_hit[63] & reg_we & !reg_error;
assign bank1_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_1_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_1_prog_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_prog_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_1_erase_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_erase_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_1_scramble_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_scramble_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_1_ecc_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_ecc_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_1_he_en_1_we = addr_hit[63] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_1_he_en_1_we = addr_hit[64] & reg_we & !reg_error;
assign bank1_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_2_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_rd_en_2_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_2_prog_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_prog_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_prog_en_2_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_2_erase_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_erase_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_erase_en_2_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_2_scramble_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_scramble_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_scramble_en_2_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_2_ecc_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_ecc_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_ecc_en_2_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_2_he_en_2_we = addr_hit[64] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_2_he_en_2_we = addr_hit[65] & reg_we & !reg_error;
assign bank1_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_3_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_rd_en_3_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_3_prog_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_prog_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_prog_en_3_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_3_erase_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_erase_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_erase_en_3_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_3_scramble_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_scramble_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_scramble_en_3_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_3_ecc_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_ecc_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_ecc_en_3_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_3_he_en_3_we = addr_hit[65] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_3_he_en_3_we = addr_hit[66] & reg_we & !reg_error;
assign bank1_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_4_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_rd_en_4_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_4_prog_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_prog_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_prog_en_4_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_4_erase_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_erase_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_erase_en_4_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_4_scramble_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_scramble_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_scramble_en_4_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_4_ecc_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_ecc_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_ecc_en_4_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_4_he_en_4_we = addr_hit[66] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_4_he_en_4_we = addr_hit[67] & reg_we & !reg_error;
assign bank1_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_5_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_rd_en_5_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_5_prog_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_prog_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_prog_en_5_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_5_erase_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_erase_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_erase_en_5_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_5_scramble_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_scramble_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_scramble_en_5_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_5_ecc_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_ecc_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_ecc_en_5_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_5_he_en_5_we = addr_hit[67] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_5_he_en_5_we = addr_hit[68] & reg_we & !reg_error;
assign bank1_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_6_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_rd_en_6_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_6_prog_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_prog_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_prog_en_6_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_6_erase_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_erase_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_erase_en_6_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_6_scramble_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_scramble_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_scramble_en_6_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_6_ecc_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_ecc_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_ecc_en_6_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_6_he_en_6_we = addr_hit[68] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_6_he_en_6_we = addr_hit[69] & reg_we & !reg_error;
assign bank1_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_7_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_rd_en_7_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_7_prog_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_prog_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_prog_en_7_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_7_erase_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_erase_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_erase_en_7_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_7_scramble_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_scramble_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_scramble_en_7_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_7_ecc_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_ecc_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_ecc_en_7_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_7_he_en_7_we = addr_hit[69] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_7_he_en_7_we = addr_hit[70] & reg_we & !reg_error;
assign bank1_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_8_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_rd_en_8_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_8_prog_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_prog_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_prog_en_8_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_8_erase_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_erase_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_erase_en_8_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_8_scramble_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_scramble_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_scramble_en_8_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_8_ecc_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_ecc_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_ecc_en_8_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_8_he_en_8_we = addr_hit[70] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_8_he_en_8_we = addr_hit[71] & reg_we & !reg_error;
assign bank1_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_9_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_rd_en_9_wd = reg_wdata[1];
- assign bank1_info0_page_cfg_9_prog_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_prog_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_prog_en_9_wd = reg_wdata[2];
- assign bank1_info0_page_cfg_9_erase_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_erase_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_erase_en_9_wd = reg_wdata[3];
- assign bank1_info0_page_cfg_9_scramble_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_scramble_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_scramble_en_9_wd = reg_wdata[4];
- assign bank1_info0_page_cfg_9_ecc_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_ecc_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_ecc_en_9_wd = reg_wdata[5];
- assign bank1_info0_page_cfg_9_he_en_9_we = addr_hit[71] & reg_we & !reg_error;
+ assign bank1_info0_page_cfg_9_he_en_9_we = addr_hit[72] & reg_we & !reg_error;
assign bank1_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank1_info1_regwen_we = addr_hit[72] & reg_we & !reg_error;
+ assign bank1_info1_regwen_we = addr_hit[73] & reg_we & !reg_error;
assign bank1_info1_regwen_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank1_info1_page_cfg_he_en_0_we = addr_hit[73] & reg_we & !reg_error;
+ assign bank1_info1_page_cfg_he_en_0_we = addr_hit[74] & reg_we & !reg_error;
assign bank1_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_regwen_0_we = addr_hit[74] & reg_we & !reg_error;
+ assign bank1_info2_regwen_0_we = addr_hit[75] & reg_we & !reg_error;
assign bank1_info2_regwen_0_wd = reg_wdata[0];
- assign bank1_info2_regwen_1_we = addr_hit[75] & reg_we & !reg_error;
+ assign bank1_info2_regwen_1_we = addr_hit[76] & reg_we & !reg_error;
assign bank1_info2_regwen_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign bank1_info2_page_cfg_0_prog_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_prog_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign bank1_info2_page_cfg_0_erase_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_erase_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign bank1_info2_page_cfg_0_scramble_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_scramble_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign bank1_info2_page_cfg_0_ecc_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_ecc_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign bank1_info2_page_cfg_0_he_en_0_we = addr_hit[76] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_0_he_en_0_we = addr_hit[77] & reg_we & !reg_error;
assign bank1_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_page_cfg_1_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign bank1_info2_page_cfg_1_prog_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_prog_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign bank1_info2_page_cfg_1_erase_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_erase_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign bank1_info2_page_cfg_1_scramble_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_scramble_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign bank1_info2_page_cfg_1_ecc_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_ecc_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign bank1_info2_page_cfg_1_he_en_1_we = addr_hit[77] & reg_we & !reg_error;
+ assign bank1_info2_page_cfg_1_he_en_1_we = addr_hit[78] & reg_we & !reg_error;
assign bank1_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank_cfg_regwen_we = addr_hit[78] & reg_we & !reg_error;
+ assign bank_cfg_regwen_we = addr_hit[79] & reg_we & !reg_error;
assign bank_cfg_regwen_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_0_we = addr_hit[79] & reg_we & !reg_error;
+ assign mp_bank_cfg_erase_en_0_we = addr_hit[80] & reg_we & !reg_error;
assign mp_bank_cfg_erase_en_0_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_1_we = addr_hit[79] & reg_we & !reg_error;
+ assign mp_bank_cfg_erase_en_1_we = addr_hit[80] & reg_we & !reg_error;
assign mp_bank_cfg_erase_en_1_wd = reg_wdata[1];
- assign op_status_done_we = addr_hit[80] & reg_we & !reg_error;
+ assign op_status_done_we = addr_hit[81] & reg_we & !reg_error;
assign op_status_done_wd = reg_wdata[0];
- assign op_status_err_we = addr_hit[80] & reg_we & !reg_error;
+ assign op_status_err_we = addr_hit[81] & reg_we & !reg_error;
assign op_status_err_wd = reg_wdata[1];
- assign err_code_intr_en_flash_err_en_we = addr_hit[82] & reg_we & !reg_error;
+ assign err_code_intr_en_flash_err_en_we = addr_hit[83] & reg_we & !reg_error;
assign err_code_intr_en_flash_err_en_wd = reg_wdata[0];
- assign err_code_intr_en_flash_alert_en_we = addr_hit[82] & reg_we & !reg_error;
+ assign err_code_intr_en_flash_alert_en_we = addr_hit[83] & reg_we & !reg_error;
assign err_code_intr_en_flash_alert_en_wd = reg_wdata[1];
- assign err_code_intr_en_mp_err_we = addr_hit[82] & reg_we & !reg_error;
+ assign err_code_intr_en_mp_err_we = addr_hit[83] & reg_we & !reg_error;
assign err_code_intr_en_mp_err_wd = reg_wdata[2];
- assign err_code_intr_en_ecc_single_err_we = addr_hit[82] & reg_we & !reg_error;
+ assign err_code_intr_en_ecc_single_err_we = addr_hit[83] & reg_we & !reg_error;
assign err_code_intr_en_ecc_single_err_wd = reg_wdata[3];
- assign err_code_intr_en_ecc_multi_err_we = addr_hit[82] & reg_we & !reg_error;
+ assign err_code_intr_en_ecc_multi_err_we = addr_hit[83] & reg_we & !reg_error;
assign err_code_intr_en_ecc_multi_err_wd = reg_wdata[4];
- assign err_code_flash_err_we = addr_hit[83] & reg_we & !reg_error;
+ assign err_code_flash_err_we = addr_hit[84] & reg_we & !reg_error;
assign err_code_flash_err_wd = reg_wdata[0];
- assign err_code_flash_alert_we = addr_hit[83] & reg_we & !reg_error;
+ assign err_code_flash_alert_we = addr_hit[84] & reg_we & !reg_error;
assign err_code_flash_alert_wd = reg_wdata[1];
- assign err_code_mp_err_we = addr_hit[83] & reg_we & !reg_error;
+ assign err_code_mp_err_we = addr_hit[84] & reg_we & !reg_error;
assign err_code_mp_err_wd = reg_wdata[2];
- assign err_code_ecc_single_err_we = addr_hit[83] & reg_we & !reg_error;
+ assign err_code_ecc_single_err_we = addr_hit[84] & reg_we & !reg_error;
assign err_code_ecc_single_err_wd = reg_wdata[3];
- assign err_code_ecc_multi_err_we = addr_hit[83] & reg_we & !reg_error;
+ assign err_code_ecc_multi_err_we = addr_hit[84] & reg_we & !reg_error;
assign err_code_ecc_multi_err_wd = reg_wdata[4];
- assign ecc_single_err_cnt_we = addr_hit[85] & reg_we & !reg_error;
+ assign ecc_single_err_cnt_we = addr_hit[86] & reg_we & !reg_error;
assign ecc_single_err_cnt_wd = reg_wdata[7:0];
- assign ecc_multi_err_cnt_we = addr_hit[88] & reg_we & !reg_error;
+ assign ecc_multi_err_cnt_we = addr_hit[89] & reg_we & !reg_error;
assign ecc_multi_err_cnt_wd = reg_wdata[7:0];
- assign phy_err_cfg_regwen_we = addr_hit[91] & reg_we & !reg_error;
+ assign phy_err_cfg_regwen_we = addr_hit[92] & reg_we & !reg_error;
assign phy_err_cfg_regwen_wd = reg_wdata[0];
- assign phy_err_cfg_we = addr_hit[92] & reg_we & !reg_error;
+ assign phy_err_cfg_we = addr_hit[93] & reg_we & !reg_error;
assign phy_err_cfg_wd = reg_wdata[0];
- assign phy_alert_cfg_alert_ack_we = addr_hit[93] & reg_we & !reg_error;
+ assign phy_alert_cfg_alert_ack_we = addr_hit[94] & reg_we & !reg_error;
assign phy_alert_cfg_alert_ack_wd = reg_wdata[0];
- assign phy_alert_cfg_alert_trig_we = addr_hit[93] & reg_we & !reg_error;
+ assign phy_alert_cfg_alert_trig_we = addr_hit[94] & reg_we & !reg_error;
assign phy_alert_cfg_alert_trig_wd = reg_wdata[1];
- assign scratch_we = addr_hit[95] & reg_we & !reg_error;
+ assign scratch_we = addr_hit[96] & reg_we & !reg_error;
assign scratch_wd = reg_wdata[31:0];
- assign fifo_lvl_prog_we = addr_hit[96] & reg_we & !reg_error;
+ assign fifo_lvl_prog_we = addr_hit[97] & reg_we & !reg_error;
assign fifo_lvl_prog_wd = reg_wdata[4:0];
- assign fifo_lvl_rd_we = addr_hit[96] & reg_we & !reg_error;
+ assign fifo_lvl_rd_we = addr_hit[97] & reg_we & !reg_error;
assign fifo_lvl_rd_wd = reg_wdata[12:8];
- assign fifo_rst_we = addr_hit[97] & reg_we & !reg_error;
+ assign fifo_rst_we = addr_hit[98] & reg_we & !reg_error;
assign fifo_rst_wd = reg_wdata[0];
// Read data return
@@ -12125,10 +12160,14 @@
end
addr_hit[4]: begin
- reg_rdata_next[0] = ctrl_regwen_qs;
+ reg_rdata_next[0] = init_qs;
end
addr_hit[5]: begin
+ reg_rdata_next[0] = ctrl_regwen_qs;
+ end
+
+ addr_hit[6]: begin
reg_rdata_next[0] = control_start_qs;
reg_rdata_next[5:4] = control_op_qs;
reg_rdata_next[6] = control_prog_sel_qs;
@@ -12138,52 +12177,52 @@
reg_rdata_next[27:16] = control_num_qs;
end
- addr_hit[6]: begin
+ addr_hit[7]: begin
reg_rdata_next[31:0] = addr_qs;
end
- addr_hit[7]: begin
+ addr_hit[8]: begin
reg_rdata_next[0] = prog_type_en_normal_qs;
reg_rdata_next[1] = prog_type_en_repair_qs;
end
- addr_hit[8]: begin
+ addr_hit[9]: begin
reg_rdata_next[0] = erase_suspend_qs;
end
- addr_hit[9]: begin
+ addr_hit[10]: begin
reg_rdata_next[0] = region_cfg_regwen_0_qs;
end
- addr_hit[10]: begin
+ addr_hit[11]: begin
reg_rdata_next[0] = region_cfg_regwen_1_qs;
end
- addr_hit[11]: begin
+ addr_hit[12]: begin
reg_rdata_next[0] = region_cfg_regwen_2_qs;
end
- addr_hit[12]: begin
+ addr_hit[13]: begin
reg_rdata_next[0] = region_cfg_regwen_3_qs;
end
- addr_hit[13]: begin
+ addr_hit[14]: begin
reg_rdata_next[0] = region_cfg_regwen_4_qs;
end
- addr_hit[14]: begin
+ addr_hit[15]: begin
reg_rdata_next[0] = region_cfg_regwen_5_qs;
end
- addr_hit[15]: begin
+ addr_hit[16]: begin
reg_rdata_next[0] = region_cfg_regwen_6_qs;
end
- addr_hit[16]: begin
+ addr_hit[17]: begin
reg_rdata_next[0] = region_cfg_regwen_7_qs;
end
- addr_hit[17]: begin
+ addr_hit[18]: begin
reg_rdata_next[0] = mp_region_cfg_0_en_0_qs;
reg_rdata_next[1] = mp_region_cfg_0_rd_en_0_qs;
reg_rdata_next[2] = mp_region_cfg_0_prog_en_0_qs;
@@ -12195,7 +12234,7 @@
reg_rdata_next[26:17] = mp_region_cfg_0_size_0_qs;
end
- addr_hit[18]: begin
+ addr_hit[19]: begin
reg_rdata_next[0] = mp_region_cfg_1_en_1_qs;
reg_rdata_next[1] = mp_region_cfg_1_rd_en_1_qs;
reg_rdata_next[2] = mp_region_cfg_1_prog_en_1_qs;
@@ -12207,7 +12246,7 @@
reg_rdata_next[26:17] = mp_region_cfg_1_size_1_qs;
end
- addr_hit[19]: begin
+ addr_hit[20]: begin
reg_rdata_next[0] = mp_region_cfg_2_en_2_qs;
reg_rdata_next[1] = mp_region_cfg_2_rd_en_2_qs;
reg_rdata_next[2] = mp_region_cfg_2_prog_en_2_qs;
@@ -12219,7 +12258,7 @@
reg_rdata_next[26:17] = mp_region_cfg_2_size_2_qs;
end
- addr_hit[20]: begin
+ addr_hit[21]: begin
reg_rdata_next[0] = mp_region_cfg_3_en_3_qs;
reg_rdata_next[1] = mp_region_cfg_3_rd_en_3_qs;
reg_rdata_next[2] = mp_region_cfg_3_prog_en_3_qs;
@@ -12231,7 +12270,7 @@
reg_rdata_next[26:17] = mp_region_cfg_3_size_3_qs;
end
- addr_hit[21]: begin
+ addr_hit[22]: begin
reg_rdata_next[0] = mp_region_cfg_4_en_4_qs;
reg_rdata_next[1] = mp_region_cfg_4_rd_en_4_qs;
reg_rdata_next[2] = mp_region_cfg_4_prog_en_4_qs;
@@ -12243,7 +12282,7 @@
reg_rdata_next[26:17] = mp_region_cfg_4_size_4_qs;
end
- addr_hit[22]: begin
+ addr_hit[23]: begin
reg_rdata_next[0] = mp_region_cfg_5_en_5_qs;
reg_rdata_next[1] = mp_region_cfg_5_rd_en_5_qs;
reg_rdata_next[2] = mp_region_cfg_5_prog_en_5_qs;
@@ -12255,7 +12294,7 @@
reg_rdata_next[26:17] = mp_region_cfg_5_size_5_qs;
end
- addr_hit[23]: begin
+ addr_hit[24]: begin
reg_rdata_next[0] = mp_region_cfg_6_en_6_qs;
reg_rdata_next[1] = mp_region_cfg_6_rd_en_6_qs;
reg_rdata_next[2] = mp_region_cfg_6_prog_en_6_qs;
@@ -12267,7 +12306,7 @@
reg_rdata_next[26:17] = mp_region_cfg_6_size_6_qs;
end
- addr_hit[24]: begin
+ addr_hit[25]: begin
reg_rdata_next[0] = mp_region_cfg_7_en_7_qs;
reg_rdata_next[1] = mp_region_cfg_7_rd_en_7_qs;
reg_rdata_next[2] = mp_region_cfg_7_prog_en_7_qs;
@@ -12279,7 +12318,7 @@
reg_rdata_next[26:17] = mp_region_cfg_7_size_7_qs;
end
- addr_hit[25]: begin
+ addr_hit[26]: begin
reg_rdata_next[0] = default_region_rd_en_qs;
reg_rdata_next[1] = default_region_prog_en_qs;
reg_rdata_next[2] = default_region_erase_en_qs;
@@ -12288,47 +12327,47 @@
reg_rdata_next[5] = default_region_he_en_qs;
end
- addr_hit[26]: begin
+ addr_hit[27]: begin
reg_rdata_next[0] = bank0_info0_regwen_0_qs;
end
- addr_hit[27]: begin
+ addr_hit[28]: begin
reg_rdata_next[0] = bank0_info0_regwen_1_qs;
end
- addr_hit[28]: begin
+ addr_hit[29]: begin
reg_rdata_next[0] = bank0_info0_regwen_2_qs;
end
- addr_hit[29]: begin
+ addr_hit[30]: begin
reg_rdata_next[0] = bank0_info0_regwen_3_qs;
end
- addr_hit[30]: begin
+ addr_hit[31]: begin
reg_rdata_next[0] = bank0_info0_regwen_4_qs;
end
- addr_hit[31]: begin
+ addr_hit[32]: begin
reg_rdata_next[0] = bank0_info0_regwen_5_qs;
end
- addr_hit[32]: begin
+ addr_hit[33]: begin
reg_rdata_next[0] = bank0_info0_regwen_6_qs;
end
- addr_hit[33]: begin
+ addr_hit[34]: begin
reg_rdata_next[0] = bank0_info0_regwen_7_qs;
end
- addr_hit[34]: begin
+ addr_hit[35]: begin
reg_rdata_next[0] = bank0_info0_regwen_8_qs;
end
- addr_hit[35]: begin
+ addr_hit[36]: begin
reg_rdata_next[0] = bank0_info0_regwen_9_qs;
end
- addr_hit[36]: begin
+ addr_hit[37]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_0_en_0_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_0_rd_en_0_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_0_prog_en_0_qs;
@@ -12338,7 +12377,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[37]: begin
+ addr_hit[38]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_1_en_1_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_1_rd_en_1_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_1_prog_en_1_qs;
@@ -12348,7 +12387,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[38]: begin
+ addr_hit[39]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_2_en_2_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_2_rd_en_2_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_2_prog_en_2_qs;
@@ -12358,7 +12397,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[39]: begin
+ addr_hit[40]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_3_en_3_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_3_rd_en_3_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_3_prog_en_3_qs;
@@ -12368,7 +12407,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[40]: begin
+ addr_hit[41]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_4_en_4_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_4_rd_en_4_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_4_prog_en_4_qs;
@@ -12378,7 +12417,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[41]: begin
+ addr_hit[42]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_5_en_5_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_5_rd_en_5_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_5_prog_en_5_qs;
@@ -12388,7 +12427,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[42]: begin
+ addr_hit[43]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_6_en_6_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_6_rd_en_6_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_6_prog_en_6_qs;
@@ -12398,7 +12437,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[43]: begin
+ addr_hit[44]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_7_en_7_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_7_rd_en_7_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_7_prog_en_7_qs;
@@ -12408,7 +12447,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[44]: begin
+ addr_hit[45]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_8_en_8_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_8_rd_en_8_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_8_prog_en_8_qs;
@@ -12418,7 +12457,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[45]: begin
+ addr_hit[46]: begin
reg_rdata_next[0] = bank0_info0_page_cfg_9_en_9_qs;
reg_rdata_next[1] = bank0_info0_page_cfg_9_rd_en_9_qs;
reg_rdata_next[2] = bank0_info0_page_cfg_9_prog_en_9_qs;
@@ -12428,11 +12467,11 @@
reg_rdata_next[6] = bank0_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[46]: begin
+ addr_hit[47]: begin
reg_rdata_next[0] = bank0_info1_regwen_qs;
end
- addr_hit[47]: begin
+ addr_hit[48]: begin
reg_rdata_next[0] = bank0_info1_page_cfg_en_0_qs;
reg_rdata_next[1] = bank0_info1_page_cfg_rd_en_0_qs;
reg_rdata_next[2] = bank0_info1_page_cfg_prog_en_0_qs;
@@ -12442,15 +12481,15 @@
reg_rdata_next[6] = bank0_info1_page_cfg_he_en_0_qs;
end
- addr_hit[48]: begin
+ addr_hit[49]: begin
reg_rdata_next[0] = bank0_info2_regwen_0_qs;
end
- addr_hit[49]: begin
+ addr_hit[50]: begin
reg_rdata_next[0] = bank0_info2_regwen_1_qs;
end
- addr_hit[50]: begin
+ addr_hit[51]: begin
reg_rdata_next[0] = bank0_info2_page_cfg_0_en_0_qs;
reg_rdata_next[1] = bank0_info2_page_cfg_0_rd_en_0_qs;
reg_rdata_next[2] = bank0_info2_page_cfg_0_prog_en_0_qs;
@@ -12460,7 +12499,7 @@
reg_rdata_next[6] = bank0_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[51]: begin
+ addr_hit[52]: begin
reg_rdata_next[0] = bank0_info2_page_cfg_1_en_1_qs;
reg_rdata_next[1] = bank0_info2_page_cfg_1_rd_en_1_qs;
reg_rdata_next[2] = bank0_info2_page_cfg_1_prog_en_1_qs;
@@ -12470,47 +12509,47 @@
reg_rdata_next[6] = bank0_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[52]: begin
+ addr_hit[53]: begin
reg_rdata_next[0] = bank1_info0_regwen_0_qs;
end
- addr_hit[53]: begin
+ addr_hit[54]: begin
reg_rdata_next[0] = bank1_info0_regwen_1_qs;
end
- addr_hit[54]: begin
+ addr_hit[55]: begin
reg_rdata_next[0] = bank1_info0_regwen_2_qs;
end
- addr_hit[55]: begin
+ addr_hit[56]: begin
reg_rdata_next[0] = bank1_info0_regwen_3_qs;
end
- addr_hit[56]: begin
+ addr_hit[57]: begin
reg_rdata_next[0] = bank1_info0_regwen_4_qs;
end
- addr_hit[57]: begin
+ addr_hit[58]: begin
reg_rdata_next[0] = bank1_info0_regwen_5_qs;
end
- addr_hit[58]: begin
+ addr_hit[59]: begin
reg_rdata_next[0] = bank1_info0_regwen_6_qs;
end
- addr_hit[59]: begin
+ addr_hit[60]: begin
reg_rdata_next[0] = bank1_info0_regwen_7_qs;
end
- addr_hit[60]: begin
+ addr_hit[61]: begin
reg_rdata_next[0] = bank1_info0_regwen_8_qs;
end
- addr_hit[61]: begin
+ addr_hit[62]: begin
reg_rdata_next[0] = bank1_info0_regwen_9_qs;
end
- addr_hit[62]: begin
+ addr_hit[63]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_0_en_0_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_0_rd_en_0_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_0_prog_en_0_qs;
@@ -12520,7 +12559,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[63]: begin
+ addr_hit[64]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_1_en_1_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_1_rd_en_1_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_1_prog_en_1_qs;
@@ -12530,7 +12569,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[64]: begin
+ addr_hit[65]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_2_en_2_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_2_rd_en_2_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_2_prog_en_2_qs;
@@ -12540,7 +12579,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[65]: begin
+ addr_hit[66]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_3_en_3_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_3_rd_en_3_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_3_prog_en_3_qs;
@@ -12550,7 +12589,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[66]: begin
+ addr_hit[67]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_4_en_4_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_4_rd_en_4_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_4_prog_en_4_qs;
@@ -12560,7 +12599,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[67]: begin
+ addr_hit[68]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_5_en_5_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_5_rd_en_5_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_5_prog_en_5_qs;
@@ -12570,7 +12609,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[68]: begin
+ addr_hit[69]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_6_en_6_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_6_rd_en_6_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_6_prog_en_6_qs;
@@ -12580,7 +12619,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[69]: begin
+ addr_hit[70]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_7_en_7_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_7_rd_en_7_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_7_prog_en_7_qs;
@@ -12590,7 +12629,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[70]: begin
+ addr_hit[71]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_8_en_8_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_8_rd_en_8_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_8_prog_en_8_qs;
@@ -12600,7 +12639,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[71]: begin
+ addr_hit[72]: begin
reg_rdata_next[0] = bank1_info0_page_cfg_9_en_9_qs;
reg_rdata_next[1] = bank1_info0_page_cfg_9_rd_en_9_qs;
reg_rdata_next[2] = bank1_info0_page_cfg_9_prog_en_9_qs;
@@ -12610,11 +12649,11 @@
reg_rdata_next[6] = bank1_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[72]: begin
+ addr_hit[73]: begin
reg_rdata_next[0] = bank1_info1_regwen_qs;
end
- addr_hit[73]: begin
+ addr_hit[74]: begin
reg_rdata_next[0] = bank1_info1_page_cfg_en_0_qs;
reg_rdata_next[1] = bank1_info1_page_cfg_rd_en_0_qs;
reg_rdata_next[2] = bank1_info1_page_cfg_prog_en_0_qs;
@@ -12624,15 +12663,15 @@
reg_rdata_next[6] = bank1_info1_page_cfg_he_en_0_qs;
end
- addr_hit[74]: begin
+ addr_hit[75]: begin
reg_rdata_next[0] = bank1_info2_regwen_0_qs;
end
- addr_hit[75]: begin
+ addr_hit[76]: begin
reg_rdata_next[0] = bank1_info2_regwen_1_qs;
end
- addr_hit[76]: begin
+ addr_hit[77]: begin
reg_rdata_next[0] = bank1_info2_page_cfg_0_en_0_qs;
reg_rdata_next[1] = bank1_info2_page_cfg_0_rd_en_0_qs;
reg_rdata_next[2] = bank1_info2_page_cfg_0_prog_en_0_qs;
@@ -12642,7 +12681,7 @@
reg_rdata_next[6] = bank1_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[77]: begin
+ addr_hit[78]: begin
reg_rdata_next[0] = bank1_info2_page_cfg_1_en_1_qs;
reg_rdata_next[1] = bank1_info2_page_cfg_1_rd_en_1_qs;
reg_rdata_next[2] = bank1_info2_page_cfg_1_prog_en_1_qs;
@@ -12652,21 +12691,21 @@
reg_rdata_next[6] = bank1_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[78]: begin
+ addr_hit[79]: begin
reg_rdata_next[0] = bank_cfg_regwen_qs;
end
- addr_hit[79]: begin
+ addr_hit[80]: begin
reg_rdata_next[0] = mp_bank_cfg_erase_en_0_qs;
reg_rdata_next[1] = mp_bank_cfg_erase_en_1_qs;
end
- addr_hit[80]: begin
+ addr_hit[81]: begin
reg_rdata_next[0] = op_status_done_qs;
reg_rdata_next[1] = op_status_err_qs;
end
- addr_hit[81]: begin
+ addr_hit[82]: begin
reg_rdata_next[0] = status_rd_full_qs;
reg_rdata_next[1] = status_rd_empty_qs;
reg_rdata_next[2] = status_prog_full_qs;
@@ -12674,7 +12713,7 @@
reg_rdata_next[4] = status_init_wip_qs;
end
- addr_hit[82]: begin
+ addr_hit[83]: begin
reg_rdata_next[0] = err_code_intr_en_flash_err_en_qs;
reg_rdata_next[1] = err_code_intr_en_flash_alert_en_qs;
reg_rdata_next[2] = err_code_intr_en_mp_err_qs;
@@ -12682,7 +12721,7 @@
reg_rdata_next[4] = err_code_intr_en_ecc_multi_err_qs;
end
- addr_hit[83]: begin
+ addr_hit[84]: begin
reg_rdata_next[0] = err_code_flash_err_qs;
reg_rdata_next[1] = err_code_flash_alert_qs;
reg_rdata_next[2] = err_code_mp_err_qs;
@@ -12690,63 +12729,63 @@
reg_rdata_next[4] = err_code_ecc_multi_err_qs;
end
- addr_hit[84]: begin
+ addr_hit[85]: begin
reg_rdata_next[8:0] = err_addr_qs;
end
- addr_hit[85]: begin
+ addr_hit[86]: begin
reg_rdata_next[7:0] = ecc_single_err_cnt_qs;
end
- addr_hit[86]: begin
+ addr_hit[87]: begin
reg_rdata_next[19:0] = ecc_single_err_addr_0_qs;
end
- addr_hit[87]: begin
+ addr_hit[88]: begin
reg_rdata_next[19:0] = ecc_single_err_addr_1_qs;
end
- addr_hit[88]: begin
+ addr_hit[89]: begin
reg_rdata_next[7:0] = ecc_multi_err_cnt_qs;
end
- addr_hit[89]: begin
+ addr_hit[90]: begin
reg_rdata_next[19:0] = ecc_multi_err_addr_0_qs;
end
- addr_hit[90]: begin
+ addr_hit[91]: begin
reg_rdata_next[19:0] = ecc_multi_err_addr_1_qs;
end
- addr_hit[91]: begin
+ addr_hit[92]: begin
reg_rdata_next[0] = phy_err_cfg_regwen_qs;
end
- addr_hit[92]: begin
+ addr_hit[93]: begin
reg_rdata_next[0] = phy_err_cfg_qs;
end
- addr_hit[93]: begin
+ addr_hit[94]: begin
reg_rdata_next[0] = phy_alert_cfg_alert_ack_qs;
reg_rdata_next[1] = phy_alert_cfg_alert_trig_qs;
end
- addr_hit[94]: begin
+ addr_hit[95]: begin
reg_rdata_next[0] = phy_status_init_wip_qs;
reg_rdata_next[1] = phy_status_prog_normal_avail_qs;
reg_rdata_next[2] = phy_status_prog_repair_avail_qs;
end
- addr_hit[95]: begin
+ addr_hit[96]: begin
reg_rdata_next[31:0] = scratch_qs;
end
- addr_hit[96]: begin
+ addr_hit[97]: begin
reg_rdata_next[4:0] = fifo_lvl_prog_qs;
reg_rdata_next[12:8] = fifo_lvl_rd_qs;
end
- addr_hit[97]: begin
+ addr_hit[98]: begin
reg_rdata_next[0] = fifo_rst_qs;
end
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
index 437654c..5fca6c6 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
@@ -16,7 +16,6 @@
// initialization command
input init_i,
- output logic init_done_o,
// only access seeds when provisioned
input provision_en_i,
@@ -106,7 +105,6 @@
lc_ctrl_pkg::lc_tx_t err_sts;
logic err_sts_set;
lc_ctrl_pkg::lc_tx_t rma_ack_d, rma_ack_q;
- logic init_done_d;
logic validate_q, validate_d;
logic [SeedCntWidth-1:0] seed_cnt_q;
logic [SeedRdsWidth-1:0] addr_cnt_q;
@@ -127,12 +125,10 @@
state_q <= StIdle;
rma_ack_q <= lc_ctrl_pkg::Off;
validate_q <= 1'b0;
- init_done_o <= 1'b0;
end else begin
state_q <= state_d;
rma_ack_q <= rma_ack_d;
validate_q <= validate_d;
- init_done_o <= init_done_d;
end
end
@@ -297,13 +293,6 @@
// read buffer enable
rd_buf_en_o = 1'b0;
- // init status
- // flash_ctrl handles its own arbitration between hardware and software.
- // So once the init kicks off it is safe to ack. The done signal is still
- // to give a chance to hold off further power up progression in the future
- // if required.
- init_done_d = 1'b1;
-
addr_key_req_d = 1'b0;
data_key_req_d = 1'b0;
@@ -318,14 +307,13 @@
unique case (state_q)
StIdle: begin
- init_done_d = 1'b0;
- phase = PhaseSeed;
if (init_q) begin
state_d = StReqAddrKey;
end
end
StReqAddrKey: begin
+ phase = PhaseSeed;
addr_key_req_d = 1'b1;
if (addr_key_ack_q) begin
state_d = StReqDataKey;
@@ -333,6 +321,7 @@
end
StReqDataKey: begin
+ phase = PhaseSeed;
data_key_req_d = 1'b1;
if (data_key_ack_q) begin
// provision_en is only a "good" value after otp/lc initialization
@@ -351,7 +340,7 @@
info_sel = seed_info_sel;
// we have checked all seeds, proceed
- if (seed_cnt_q == NumSeeds[SeedCntWidth-1:0]) begin
+ if (seed_cnt_q == NumSeeds) begin
start = 1'b0;
state_d = StWait;
@@ -498,7 +487,7 @@
end else if (word_cnt_clr) begin
word_cnt <= '0;
end else if (word_cnt_incr) begin
- word_cnt <= word_cnt + WidthMultiple[WordCntWidth-1:0];
+ word_cnt <= word_cnt + WidthMultiple;
end
end
@@ -557,7 +546,7 @@
assign rma_part_sel = RmaWipeEntries[rma_wipe_idx].part;
assign rma_info_sel = RmaWipeEntries[rma_wipe_idx].info_sel;
- assign rma_num_words = WidthMultiple[11:0] - 1;
+ assign rma_num_words = WidthMultiple - 1;
//fsm for handling the actual wipe
@@ -605,7 +594,7 @@
end
StRmaWordSel: begin
- if (word_cnt < BusWordsPerPage[WordCntWidth-1:0]) begin
+ if (word_cnt < BusWordsPerPage) begin
rma_state_d = StRmaProgram;
end else begin
word_cnt_clr = 1'b1;
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv
index 7a24434..1796bcf 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv
@@ -119,6 +119,10 @@
} flash_ctrl_reg2hw_alert_test_reg_t;
typedef struct packed {
+ logic q;
+ } flash_ctrl_reg2hw_init_reg_t;
+
+ typedef struct packed {
struct packed {
logic q;
} start;
@@ -574,10 +578,11 @@
// Register -> HW type for core interface
typedef struct packed {
- flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [556:551]
- flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [550:545]
- flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [544:533]
- flash_ctrl_reg2hw_alert_test_reg_t alert_test; // [532:525]
+ flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [557:552]
+ flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [551:546]
+ flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [545:534]
+ flash_ctrl_reg2hw_alert_test_reg_t alert_test; // [533:526]
+ flash_ctrl_reg2hw_init_reg_t init; // [525:525]
flash_ctrl_reg2hw_control_reg_t control; // [524:505]
flash_ctrl_reg2hw_addr_reg_t addr; // [504:473]
flash_ctrl_reg2hw_prog_type_en_reg_t prog_type_en; // [472:471]
@@ -624,100 +629,101 @@
parameter logic [CoreAw-1:0] FLASH_CTRL_INTR_ENABLE_OFFSET = 9'h 4;
parameter logic [CoreAw-1:0] FLASH_CTRL_INTR_TEST_OFFSET = 9'h 8;
parameter logic [CoreAw-1:0] FLASH_CTRL_ALERT_TEST_OFFSET = 9'h c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h 10;
- parameter logic [CoreAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 14;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 18;
- parameter logic [CoreAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 1c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 20;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 24;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 28;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 2c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 30;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 34;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 38;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 3c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 40;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 44;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 48;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 4c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 50;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 54;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 58;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 5c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 60;
- parameter logic [CoreAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 64;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 68;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 6c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 70;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 74;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 78;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 7c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 80;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 84;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 88;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 8c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 90;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 94;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 98;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h 9c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h a0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h a8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h ac;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h b0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h b8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h bc;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h c0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h c8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h cc;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h d0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h d8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h dc;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h e0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h e8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h ec;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h f0;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h f8;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h fc;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h 100;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 104;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 108;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 10c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 110;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 114;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 118;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 11c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 120;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 124;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 128;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 12c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 130;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 134;
- parameter logic [CoreAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 138;
- parameter logic [CoreAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 13c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 140;
- parameter logic [CoreAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 144;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_CODE_INTR_EN_OFFSET = 9'h 148;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_CODE_OFFSET = 9'h 14c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_ADDR_OFFSET = 9'h 150;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_CNT_OFFSET = 9'h 154;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0_OFFSET = 9'h 158;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1_OFFSET = 9'h 15c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_CNT_OFFSET = 9'h 160;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_ADDR_0_OFFSET = 9'h 164;
- parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_ADDR_1_OFFSET = 9'h 168;
- parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ERR_CFG_REGWEN_OFFSET = 9'h 16c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ERR_CFG_OFFSET = 9'h 170;
- parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ALERT_CFG_OFFSET = 9'h 174;
- parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 178;
- parameter logic [CoreAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 17c;
- parameter logic [CoreAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 180;
- parameter logic [CoreAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 184;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_INIT_OFFSET = 9'h 10;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h 14;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 18;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 1c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 20;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 24;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 28;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 2c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 30;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 34;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 38;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 3c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 40;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 44;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 48;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 4c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 50;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 54;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 58;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 5c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 60;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 64;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 68;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 6c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 70;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 74;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 78;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 7c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 80;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 84;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 88;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 8c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 90;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 94;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 98;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 9c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h a0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h a4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h ac;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h b0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h b4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h bc;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h c0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h c4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h cc;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h d0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h d4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h dc;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h e0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h e4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h ec;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h f0;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h f4;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f8;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h fc;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h 100;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h 104;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 108;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 10c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 110;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 114;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 118;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 11c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 120;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 124;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 128;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 12c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 130;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 134;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 138;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 13c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 140;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 144;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 148;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_CODE_INTR_EN_OFFSET = 9'h 14c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_CODE_OFFSET = 9'h 150;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ERR_ADDR_OFFSET = 9'h 154;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_CNT_OFFSET = 9'h 158;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0_OFFSET = 9'h 15c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1_OFFSET = 9'h 160;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_CNT_OFFSET = 9'h 164;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_ADDR_0_OFFSET = 9'h 168;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_ECC_MULTI_ERR_ADDR_1_OFFSET = 9'h 16c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ERR_CFG_REGWEN_OFFSET = 9'h 170;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ERR_CFG_OFFSET = 9'h 174;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_ALERT_CFG_OFFSET = 9'h 178;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 17c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 180;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 184;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 188;
// Reset values for hwext registers and their fields for core interface
parameter logic [5:0] FLASH_CTRL_INTR_TEST_RESVAL = 6'h 0;
@@ -736,9 +742,9 @@
parameter logic [0:0] FLASH_CTRL_CTRL_REGWEN_EN_RESVAL = 1'h 1;
// Window parameters for core interface
- parameter logic [CoreAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 188;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 18c;
parameter int unsigned FLASH_CTRL_PROG_FIFO_SIZE = 'h 4;
- parameter logic [CoreAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 18c;
+ parameter logic [CoreAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 190;
parameter int unsigned FLASH_CTRL_RD_FIFO_SIZE = 'h 4;
// Register index for core interface
@@ -747,6 +753,7 @@
FLASH_CTRL_INTR_ENABLE,
FLASH_CTRL_INTR_TEST,
FLASH_CTRL_ALERT_TEST,
+ FLASH_CTRL_INIT,
FLASH_CTRL_CTRL_REGWEN,
FLASH_CTRL_CONTROL,
FLASH_CTRL_ADDR,
@@ -844,105 +851,106 @@
} flash_ctrl_core_id_e;
// Register width information to check illegal writes for core interface
- parameter logic [3:0] FLASH_CTRL_CORE_PERMIT [98] = '{
+ parameter logic [3:0] FLASH_CTRL_CORE_PERMIT [99] = '{
4'b 0001, // index[ 0] FLASH_CTRL_INTR_STATE
4'b 0001, // index[ 1] FLASH_CTRL_INTR_ENABLE
4'b 0001, // index[ 2] FLASH_CTRL_INTR_TEST
4'b 0001, // index[ 3] FLASH_CTRL_ALERT_TEST
- 4'b 0001, // index[ 4] FLASH_CTRL_CTRL_REGWEN
- 4'b 1111, // index[ 5] FLASH_CTRL_CONTROL
- 4'b 1111, // index[ 6] FLASH_CTRL_ADDR
- 4'b 0001, // index[ 7] FLASH_CTRL_PROG_TYPE_EN
- 4'b 0001, // index[ 8] FLASH_CTRL_ERASE_SUSPEND
- 4'b 0001, // index[ 9] FLASH_CTRL_REGION_CFG_REGWEN_0
- 4'b 0001, // index[10] FLASH_CTRL_REGION_CFG_REGWEN_1
- 4'b 0001, // index[11] FLASH_CTRL_REGION_CFG_REGWEN_2
- 4'b 0001, // index[12] FLASH_CTRL_REGION_CFG_REGWEN_3
- 4'b 0001, // index[13] FLASH_CTRL_REGION_CFG_REGWEN_4
- 4'b 0001, // index[14] FLASH_CTRL_REGION_CFG_REGWEN_5
- 4'b 0001, // index[15] FLASH_CTRL_REGION_CFG_REGWEN_6
- 4'b 0001, // index[16] FLASH_CTRL_REGION_CFG_REGWEN_7
- 4'b 1111, // index[17] FLASH_CTRL_MP_REGION_CFG_0
- 4'b 1111, // index[18] FLASH_CTRL_MP_REGION_CFG_1
- 4'b 1111, // index[19] FLASH_CTRL_MP_REGION_CFG_2
- 4'b 1111, // index[20] FLASH_CTRL_MP_REGION_CFG_3
- 4'b 1111, // index[21] FLASH_CTRL_MP_REGION_CFG_4
- 4'b 1111, // index[22] FLASH_CTRL_MP_REGION_CFG_5
- 4'b 1111, // index[23] FLASH_CTRL_MP_REGION_CFG_6
- 4'b 1111, // index[24] FLASH_CTRL_MP_REGION_CFG_7
- 4'b 0001, // index[25] FLASH_CTRL_DEFAULT_REGION
- 4'b 0001, // index[26] FLASH_CTRL_BANK0_INFO0_REGWEN_0
- 4'b 0001, // index[27] FLASH_CTRL_BANK0_INFO0_REGWEN_1
- 4'b 0001, // index[28] FLASH_CTRL_BANK0_INFO0_REGWEN_2
- 4'b 0001, // index[29] FLASH_CTRL_BANK0_INFO0_REGWEN_3
- 4'b 0001, // index[30] FLASH_CTRL_BANK0_INFO0_REGWEN_4
- 4'b 0001, // index[31] FLASH_CTRL_BANK0_INFO0_REGWEN_5
- 4'b 0001, // index[32] FLASH_CTRL_BANK0_INFO0_REGWEN_6
- 4'b 0001, // index[33] FLASH_CTRL_BANK0_INFO0_REGWEN_7
- 4'b 0001, // index[34] FLASH_CTRL_BANK0_INFO0_REGWEN_8
- 4'b 0001, // index[35] FLASH_CTRL_BANK0_INFO0_REGWEN_9
- 4'b 0001, // index[36] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0
- 4'b 0001, // index[37] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1
- 4'b 0001, // index[38] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2
- 4'b 0001, // index[39] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3
- 4'b 0001, // index[40] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4
- 4'b 0001, // index[41] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5
- 4'b 0001, // index[42] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6
- 4'b 0001, // index[43] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7
- 4'b 0001, // index[44] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8
- 4'b 0001, // index[45] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9
- 4'b 0001, // index[46] FLASH_CTRL_BANK0_INFO1_REGWEN
- 4'b 0001, // index[47] FLASH_CTRL_BANK0_INFO1_PAGE_CFG
- 4'b 0001, // index[48] FLASH_CTRL_BANK0_INFO2_REGWEN_0
- 4'b 0001, // index[49] FLASH_CTRL_BANK0_INFO2_REGWEN_1
- 4'b 0001, // index[50] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0
- 4'b 0001, // index[51] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1
- 4'b 0001, // index[52] FLASH_CTRL_BANK1_INFO0_REGWEN_0
- 4'b 0001, // index[53] FLASH_CTRL_BANK1_INFO0_REGWEN_1
- 4'b 0001, // index[54] FLASH_CTRL_BANK1_INFO0_REGWEN_2
- 4'b 0001, // index[55] FLASH_CTRL_BANK1_INFO0_REGWEN_3
- 4'b 0001, // index[56] FLASH_CTRL_BANK1_INFO0_REGWEN_4
- 4'b 0001, // index[57] FLASH_CTRL_BANK1_INFO0_REGWEN_5
- 4'b 0001, // index[58] FLASH_CTRL_BANK1_INFO0_REGWEN_6
- 4'b 0001, // index[59] FLASH_CTRL_BANK1_INFO0_REGWEN_7
- 4'b 0001, // index[60] FLASH_CTRL_BANK1_INFO0_REGWEN_8
- 4'b 0001, // index[61] FLASH_CTRL_BANK1_INFO0_REGWEN_9
- 4'b 0001, // index[62] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0
- 4'b 0001, // index[63] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1
- 4'b 0001, // index[64] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2
- 4'b 0001, // index[65] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3
- 4'b 0001, // index[66] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4
- 4'b 0001, // index[67] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5
- 4'b 0001, // index[68] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6
- 4'b 0001, // index[69] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7
- 4'b 0001, // index[70] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8
- 4'b 0001, // index[71] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9
- 4'b 0001, // index[72] FLASH_CTRL_BANK1_INFO1_REGWEN
- 4'b 0001, // index[73] FLASH_CTRL_BANK1_INFO1_PAGE_CFG
- 4'b 0001, // index[74] FLASH_CTRL_BANK1_INFO2_REGWEN_0
- 4'b 0001, // index[75] FLASH_CTRL_BANK1_INFO2_REGWEN_1
- 4'b 0001, // index[76] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0
- 4'b 0001, // index[77] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1
- 4'b 0001, // index[78] FLASH_CTRL_BANK_CFG_REGWEN
- 4'b 0001, // index[79] FLASH_CTRL_MP_BANK_CFG
- 4'b 0001, // index[80] FLASH_CTRL_OP_STATUS
- 4'b 0001, // index[81] FLASH_CTRL_STATUS
- 4'b 0001, // index[82] FLASH_CTRL_ERR_CODE_INTR_EN
- 4'b 0001, // index[83] FLASH_CTRL_ERR_CODE
- 4'b 0011, // index[84] FLASH_CTRL_ERR_ADDR
- 4'b 0001, // index[85] FLASH_CTRL_ECC_SINGLE_ERR_CNT
- 4'b 0111, // index[86] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0
- 4'b 0111, // index[87] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1
- 4'b 0001, // index[88] FLASH_CTRL_ECC_MULTI_ERR_CNT
- 4'b 0111, // index[89] FLASH_CTRL_ECC_MULTI_ERR_ADDR_0
- 4'b 0111, // index[90] FLASH_CTRL_ECC_MULTI_ERR_ADDR_1
- 4'b 0001, // index[91] FLASH_CTRL_PHY_ERR_CFG_REGWEN
- 4'b 0001, // index[92] FLASH_CTRL_PHY_ERR_CFG
- 4'b 0001, // index[93] FLASH_CTRL_PHY_ALERT_CFG
- 4'b 0001, // index[94] FLASH_CTRL_PHY_STATUS
- 4'b 1111, // index[95] FLASH_CTRL_SCRATCH
- 4'b 0011, // index[96] FLASH_CTRL_FIFO_LVL
- 4'b 0001 // index[97] FLASH_CTRL_FIFO_RST
+ 4'b 0001, // index[ 4] FLASH_CTRL_INIT
+ 4'b 0001, // index[ 5] FLASH_CTRL_CTRL_REGWEN
+ 4'b 1111, // index[ 6] FLASH_CTRL_CONTROL
+ 4'b 1111, // index[ 7] FLASH_CTRL_ADDR
+ 4'b 0001, // index[ 8] FLASH_CTRL_PROG_TYPE_EN
+ 4'b 0001, // index[ 9] FLASH_CTRL_ERASE_SUSPEND
+ 4'b 0001, // index[10] FLASH_CTRL_REGION_CFG_REGWEN_0
+ 4'b 0001, // index[11] FLASH_CTRL_REGION_CFG_REGWEN_1
+ 4'b 0001, // index[12] FLASH_CTRL_REGION_CFG_REGWEN_2
+ 4'b 0001, // index[13] FLASH_CTRL_REGION_CFG_REGWEN_3
+ 4'b 0001, // index[14] FLASH_CTRL_REGION_CFG_REGWEN_4
+ 4'b 0001, // index[15] FLASH_CTRL_REGION_CFG_REGWEN_5
+ 4'b 0001, // index[16] FLASH_CTRL_REGION_CFG_REGWEN_6
+ 4'b 0001, // index[17] FLASH_CTRL_REGION_CFG_REGWEN_7
+ 4'b 1111, // index[18] FLASH_CTRL_MP_REGION_CFG_0
+ 4'b 1111, // index[19] FLASH_CTRL_MP_REGION_CFG_1
+ 4'b 1111, // index[20] FLASH_CTRL_MP_REGION_CFG_2
+ 4'b 1111, // index[21] FLASH_CTRL_MP_REGION_CFG_3
+ 4'b 1111, // index[22] FLASH_CTRL_MP_REGION_CFG_4
+ 4'b 1111, // index[23] FLASH_CTRL_MP_REGION_CFG_5
+ 4'b 1111, // index[24] FLASH_CTRL_MP_REGION_CFG_6
+ 4'b 1111, // index[25] FLASH_CTRL_MP_REGION_CFG_7
+ 4'b 0001, // index[26] FLASH_CTRL_DEFAULT_REGION
+ 4'b 0001, // index[27] FLASH_CTRL_BANK0_INFO0_REGWEN_0
+ 4'b 0001, // index[28] FLASH_CTRL_BANK0_INFO0_REGWEN_1
+ 4'b 0001, // index[29] FLASH_CTRL_BANK0_INFO0_REGWEN_2
+ 4'b 0001, // index[30] FLASH_CTRL_BANK0_INFO0_REGWEN_3
+ 4'b 0001, // index[31] FLASH_CTRL_BANK0_INFO0_REGWEN_4
+ 4'b 0001, // index[32] FLASH_CTRL_BANK0_INFO0_REGWEN_5
+ 4'b 0001, // index[33] FLASH_CTRL_BANK0_INFO0_REGWEN_6
+ 4'b 0001, // index[34] FLASH_CTRL_BANK0_INFO0_REGWEN_7
+ 4'b 0001, // index[35] FLASH_CTRL_BANK0_INFO0_REGWEN_8
+ 4'b 0001, // index[36] FLASH_CTRL_BANK0_INFO0_REGWEN_9
+ 4'b 0001, // index[37] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0
+ 4'b 0001, // index[38] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1
+ 4'b 0001, // index[39] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2
+ 4'b 0001, // index[40] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3
+ 4'b 0001, // index[41] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4
+ 4'b 0001, // index[42] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5
+ 4'b 0001, // index[43] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6
+ 4'b 0001, // index[44] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7
+ 4'b 0001, // index[45] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8
+ 4'b 0001, // index[46] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9
+ 4'b 0001, // index[47] FLASH_CTRL_BANK0_INFO1_REGWEN
+ 4'b 0001, // index[48] FLASH_CTRL_BANK0_INFO1_PAGE_CFG
+ 4'b 0001, // index[49] FLASH_CTRL_BANK0_INFO2_REGWEN_0
+ 4'b 0001, // index[50] FLASH_CTRL_BANK0_INFO2_REGWEN_1
+ 4'b 0001, // index[51] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0
+ 4'b 0001, // index[52] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1
+ 4'b 0001, // index[53] FLASH_CTRL_BANK1_INFO0_REGWEN_0
+ 4'b 0001, // index[54] FLASH_CTRL_BANK1_INFO0_REGWEN_1
+ 4'b 0001, // index[55] FLASH_CTRL_BANK1_INFO0_REGWEN_2
+ 4'b 0001, // index[56] FLASH_CTRL_BANK1_INFO0_REGWEN_3
+ 4'b 0001, // index[57] FLASH_CTRL_BANK1_INFO0_REGWEN_4
+ 4'b 0001, // index[58] FLASH_CTRL_BANK1_INFO0_REGWEN_5
+ 4'b 0001, // index[59] FLASH_CTRL_BANK1_INFO0_REGWEN_6
+ 4'b 0001, // index[60] FLASH_CTRL_BANK1_INFO0_REGWEN_7
+ 4'b 0001, // index[61] FLASH_CTRL_BANK1_INFO0_REGWEN_8
+ 4'b 0001, // index[62] FLASH_CTRL_BANK1_INFO0_REGWEN_9
+ 4'b 0001, // index[63] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0
+ 4'b 0001, // index[64] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1
+ 4'b 0001, // index[65] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2
+ 4'b 0001, // index[66] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3
+ 4'b 0001, // index[67] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4
+ 4'b 0001, // index[68] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5
+ 4'b 0001, // index[69] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6
+ 4'b 0001, // index[70] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7
+ 4'b 0001, // index[71] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8
+ 4'b 0001, // index[72] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9
+ 4'b 0001, // index[73] FLASH_CTRL_BANK1_INFO1_REGWEN
+ 4'b 0001, // index[74] FLASH_CTRL_BANK1_INFO1_PAGE_CFG
+ 4'b 0001, // index[75] FLASH_CTRL_BANK1_INFO2_REGWEN_0
+ 4'b 0001, // index[76] FLASH_CTRL_BANK1_INFO2_REGWEN_1
+ 4'b 0001, // index[77] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0
+ 4'b 0001, // index[78] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1
+ 4'b 0001, // index[79] FLASH_CTRL_BANK_CFG_REGWEN
+ 4'b 0001, // index[80] FLASH_CTRL_MP_BANK_CFG
+ 4'b 0001, // index[81] FLASH_CTRL_OP_STATUS
+ 4'b 0001, // index[82] FLASH_CTRL_STATUS
+ 4'b 0001, // index[83] FLASH_CTRL_ERR_CODE_INTR_EN
+ 4'b 0001, // index[84] FLASH_CTRL_ERR_CODE
+ 4'b 0011, // index[85] FLASH_CTRL_ERR_ADDR
+ 4'b 0001, // index[86] FLASH_CTRL_ECC_SINGLE_ERR_CNT
+ 4'b 0111, // index[87] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_0
+ 4'b 0111, // index[88] FLASH_CTRL_ECC_SINGLE_ERR_ADDR_1
+ 4'b 0001, // index[89] FLASH_CTRL_ECC_MULTI_ERR_CNT
+ 4'b 0111, // index[90] FLASH_CTRL_ECC_MULTI_ERR_ADDR_0
+ 4'b 0111, // index[91] FLASH_CTRL_ECC_MULTI_ERR_ADDR_1
+ 4'b 0001, // index[92] FLASH_CTRL_PHY_ERR_CFG_REGWEN
+ 4'b 0001, // index[93] FLASH_CTRL_PHY_ERR_CFG
+ 4'b 0001, // index[94] FLASH_CTRL_PHY_ALERT_CFG
+ 4'b 0001, // index[95] FLASH_CTRL_PHY_STATUS
+ 4'b 1111, // index[96] FLASH_CTRL_SCRATCH
+ 4'b 0011, // index[97] FLASH_CTRL_FIFO_LVL
+ 4'b 0001 // index[98] FLASH_CTRL_FIFO_RST
};
endpackage
diff --git a/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl b/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
index 8c37adf..e29c313 100644
--- a/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
+++ b/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
@@ -51,9 +51,9 @@
},
{ struct: "pwr_flash",
- type: "req_rsp",
+ type: "uni",
name: "pwr_flash",
- act: "req",
+ act: "rcv",
package: "pwrmgr_pkg",
},
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr.sv b/hw/ip/pwrmgr/rtl/pwrmgr.sv
index 4b3b0d6..1d1b7aa 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr.sv
@@ -40,7 +40,7 @@
output pwr_lc_req_t pwr_lc_o,
// flash interface
- input pwr_flash_rsp_t pwr_flash_i,
+ input pwr_flash_t pwr_flash_i,
// processor interface
input pwr_cpu_t pwr_cpu_i,
@@ -100,7 +100,7 @@
logic low_power_fall_through;
logic low_power_abort;
- pwr_flash_rsp_t flash_rsp;
+ pwr_flash_t flash_rsp;
pwr_otp_rsp_t otp_rsp;
////////////////////////////
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr_cdc.sv b/hw/ip/pwrmgr/rtl/pwrmgr_cdc.sv
index 5bb2a0f..3e32c5e 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr_cdc.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr_cdc.sv
@@ -52,8 +52,8 @@
// peripheral inputs, mixed domains
input pwr_peri_t peri_i,
- input pwr_flash_rsp_t flash_i,
- output pwr_flash_rsp_t flash_o,
+ input pwr_flash_t flash_i,
+ output pwr_flash_t flash_o,
// otp interface
input pwr_otp_rsp_t otp_i,
@@ -235,20 +235,8 @@
.q_o(peri_reqs_o)
);
- // synchronize inputs from flash
prim_flop_2sync #(
.Width(1),
- .ResetValue(1'b0)
- ) u_sync_flash_done (
- .clk_i,
- .rst_ni,
- .d_i(flash_i.flash_done),
- .q_o(flash_o.flash_done)
- );
-
- prim_flop_2sync #(
- .Width(1),
- // TODO: Is a value of 1 correct here?
.ResetValue(1'b1)
) u_sync_flash_idle (
.clk_i,
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr_fsm.sv b/hw/ip/pwrmgr/rtl/pwrmgr_fsm.sv
index 08f52b6..16663a9 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr_fsm.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr_fsm.sv
@@ -90,7 +90,6 @@
logic [PowerDomains-1:0] rst_lc_req_d, rst_sys_req_d;
logic otp_init;
logic lc_init;
- logic flash_init_d;
logic low_power_q, low_power_d;
assign pd_n_rsts_asserted = pwr_rst_i.rst_lc_src_n[PowerDomains-1:1] == '0 &
@@ -183,7 +182,6 @@
rst_lc_req_d = rst_lc_req_q;
rst_sys_req_d = rst_sys_req_q;
reset_cause_d = reset_cause_q;
- flash_init_d = 1'b0;
low_power_d = low_power_q;
unique case(state_q)
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv b/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
index d32098f..7f496b2 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
@@ -132,15 +132,9 @@
typedef struct packed {
logic flash_idle;
- } pwr_flash_rsp_t;
+ } pwr_flash_t;
- // default value (for dangling ports)
- parameter pwr_flash_req_t PWR_FLASH_REQ_DEFAULT = '{
- flash_init: 1'b1
- };
-
- parameter pwr_flash_rsp_t PWR_FLASH_RSP_DEFAULT = '{
- flash_done: 1'b1,
+ parameter pwr_flash_t PWR_FLASH_DEFAULT = '{
flash_idle: 1'b1
};