[top] Auto generate files
Signed-off-by: Timothy Chen <timothytim@google.com>
[top] Auto generate
Signed-off-by: Timothy Chen <timothytim@google.com>
[top] Auto generate files
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 af03f32..c0bb0f5 100644
--- a/hw/ip/flash_ctrl/data/flash_ctrl.hjson
+++ b/hw/ip/flash_ctrl/data/flash_ctrl.hjson
@@ -16,7 +16,18 @@
{ name: "rd_full", desc: "Read FIFO full" },
{ name: "rd_lvl", desc: "Read FIFO filled to level" },
{ name: "op_done", desc: "Operation complete" },
- { name: "op_error", desc: "Operation failed with error" },
+ ],
+
+ alert_list: [
+ { name: "recov_err",
+ desc: "flash alerts directly from prim_flash",
+ },
+ { name: "recov_mp_err",
+ desc: "recoverable flash alert for permission error"
+ },
+ { name: "recov_ecc_err",
+ desc: "recoverable flash alert for ecc error"
+ },
],
// Define flash_ctrl <-> flash_phy struct package
@@ -1257,9 +1268,10 @@
{ bits: "0", name: "done",
desc: "Flash operation done. Set by HW, cleared by SW" },
{ bits: "1", name: "err",
- desc: "Flash operation error. Set by HW, cleared by SW"},
+ desc: "Flash operation error. Set by HW, cleared by SW. See !!ERR_CODE for more details."},
]
},
+
{ name: "STATUS",
desc: "Flash Controller Status",
swaccess: "ro",
@@ -1270,10 +1282,99 @@
{ bits: "2", name: "prog_full", desc: "Flash program FIFO full"},
{ bits: "3", name: "prog_empty", desc: "Flash program FIFO empty, software must provide data", resval: "1"},
{ bits: "4", name: "init_wip", desc: "Flash controller undergoing init, inclusive of phy init"},
- { bits: "16:8", name: "error_addr", desc: "Flash controller error address."},
]
},
+ { name: "ERR_CODE",
+ desc: '''
+ Flash error code register.
+ This register tabulates detailed error status of the flash.
+ This is separate from !!OP_STATUS, which is used to indicate the current state of the software initiated
+ flash operation.
+ '''
+ swaccess: "rw",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "0",
+ name: "flash_err",
+ desc: '''
+ The flash memory itself has an error, please check the vendor specs for details of the error.
+ '''
+ },
+ { bits: "1",
+ name: "flash_alert",
+ desc: '''
+ The flash memory itself has triggered an alert, please check the vendor specs for details of the error.
+ '''
+ },
+ { bits: "2",
+ name: "mp_err",
+ desc: '''
+ Flash access has encountered an access permission error.
+ Please see !!ERR_ADDR for exact address.
+ '''
+ },
+ { bits: "3",
+ name: "ecc_single_err",
+ desc: '''
+ Flash access has encountered a single bit ECC error.
+ Please see !!ECC_ERR_ADDR for exact address.
+ '''
+ },
+ { bits: "4",
+ name: "ecc_multi_err",
+ desc: '''
+ Flash access has encountered a multi bit ECC error.
+ Please see !!ECC_ERR_ADDR for exact address.
+ '''
+ },
+ ]
+ },
+
+ { name: "ERR_ADDR",
+ desc: "Access permission error address",
+ swaccess: "ro",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "8:0",
+ resval: 0,
+ },
+ ]
+ },
+
+ { multireg: {
+ cname: "ECC_ERR"
+ name: "ECC_ERR_ADDR",
+ desc: "ecc error address",
+ count: "RegNumBanks",
+ swaccess: "ro",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "19:0",
+ resval: 0,
+ },
+ ]
+ }
+ },
+
+ { name: "PHY_ALERT_CFG",
+ desc: "Phy alert configuration",
+ swaccess: "rw",
+ hwaccess: "hro",
+ fields: [
+ { bits: "0",
+ name: "alert_ack",
+ desc: "Acknowledge flash phy alert"
+ },
+ { bits: "1",
+ name: "alert_trig",
+ desc: "Trigger flash phy alert"
+ }
+ ]
+ tags: [ // alert triggers should be tested by directed tests
+ "excl:CsrAllTests:CsrExclWrite"]
+ },
+
{ name: "PHY_STATUS",
desc: "Flash Phy Status",
swaccess: "ro",
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
index 10a3970..211bf14 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl.sv
@@ -9,6 +9,7 @@
`include "prim_assert.sv"
module flash_ctrl import flash_ctrl_pkg::*; #(
+ parameter logic AlertAsyncOn = 1'b1,
parameter flash_key_t RndCnstAddrKey = RndCnstAddrKeyDefault,
parameter flash_key_t RndCnstDataKey = RndCnstDataKeyDefault,
parameter lfsr_seed_t RndCnstLfsrSeed = RndCnstLfsrSeedDefault,
@@ -51,7 +52,12 @@
output logic intr_rd_full_o, // Read fifo is full
output logic intr_rd_lvl_o, // Read fifo is full
output logic intr_op_done_o, // Requested flash operation (wr/erase) done
- output logic intr_op_error_o // Requested flash operation (wr/erase) done
+
+ // Alerts
+ input prim_alert_pkg::alert_rx_t [flash_ctrl_reg_pkg::NumAlerts-1:0] alert_rx_i,
+ output prim_alert_pkg::alert_tx_t [flash_ctrl_reg_pkg::NumAlerts-1:0] alert_tx_o
+
+
);
import flash_ctrl_reg_pkg::*;
@@ -731,8 +737,6 @@
assign hw2reg.status.prog_empty.de = sw_sel;
assign hw2reg.status.init_wip.d = flash_phy_busy | ctrl_init_busy;
assign hw2reg.status.init_wip.de = 1'b1;
- assign hw2reg.status.error_addr.d = err_addr;
- assign hw2reg.status.error_addr.de = sw_sel;
assign hw2reg.control.start.d = 1'b0;
assign hw2reg.control.start.de = sw_ctrl_done;
// if software operation selected, based on transaction start
@@ -758,6 +762,8 @@
assign flash_o.addr_key = addr_key;
assign flash_o.data_key = data_key;
assign flash_o.tl_flash_c2p = tl_win_h2d[2];
+ assign flash_o.alert_trig = reg2hw.phy_alert_cfg.alert_trig.q;
+ assign flash_o.alert_ack = reg2hw.phy_alert_cfg.alert_ack.q;
assign flash_rd_err = flash_i.rd_err;
assign flash_rd_data = flash_i.rd_data;
assign flash_phy_busy = flash_i.init_busy;
@@ -778,8 +784,71 @@
.q_o(pwrmgr_o.flash_idle)
);
+ //////////////////////////////////////
+ // Alert senders
+ //////////////////////////////////////
- // Interrupts
+ logic [NumAlerts-1:0] alert_srcs;
+ logic [NumAlerts-1:0] alert_tests;
+
+ logic recov_err;
+ assign recov_err = flash_i.flash_alert_p | ~flash_i.flash_alert_n;
+
+ logic recov_mp_err;
+ assign recov_mp_err = flash_mp_error;
+
+ logic recov_ecc_err;
+ assign recov_ecc_err = |flash_i.ecc_single_err | |flash_i.ecc_multi_err;
+
+ assign alert_srcs = { recov_ecc_err,
+ recov_mp_err,
+ recov_err
+ };
+
+ assign alert_tests = { reg2hw.alert_test.recov_ecc_err.q & reg2hw.alert_test.recov_ecc_err.qe,
+ reg2hw.alert_test.recov_mp_err.q & reg2hw.alert_test.recov_mp_err.qe,
+ reg2hw.alert_test.recov_err.q & reg2hw.alert_test.recov_err.qe
+ };
+
+ for (genvar i = 0; i < NumAlerts; i++) begin : gen_alert_senders
+ prim_alert_sender #(
+ .AsyncOn(AlertAsyncOn)
+ ) u_alert_sender (
+ .clk_i,
+ .rst_ni,
+ .alert_req_i(alert_srcs[i]),
+ .alert_test_i(alert_tests[i]),
+ .alert_ack_o(),
+ .alert_state_o(),
+ .alert_rx_i(alert_rx_i[i]),
+ .alert_tx_o(alert_tx_o[i])
+ );
+ end
+
+
+ //////////////////////////////////////
+ // Errors and Interrupts
+ //////////////////////////////////////
+
+ assign hw2reg.err_code.mp_err.d = 1'b1;
+ assign hw2reg.err_code.ecc_single_err.d = 1'b1;
+ assign hw2reg.err_code.ecc_multi_err.d = 1'b1;
+ assign hw2reg.err_code.flash_err.d = 1'b1;
+ assign hw2reg.err_code.flash_alert.d = 1'b1;
+ assign hw2reg.err_code.mp_err.de = flash_mp_error;
+ assign hw2reg.err_code.ecc_single_err.de = |flash_i.ecc_single_err;
+ assign hw2reg.err_code.ecc_multi_err.de = |flash_i.ecc_multi_err;
+ assign hw2reg.err_code.flash_err.de = flash_i.flash_err;
+ assign hw2reg.err_code.flash_alert.de = flash_i.flash_alert_p | ~flash_i.flash_alert_n;
+ assign hw2reg.err_addr.d = err_addr;
+ assign hw2reg.err_addr.de = flash_mp_error;
+
+ for (genvar bank = 0; bank < NumBanks; bank++) begin : gen_err_cons
+ assign hw2reg.ecc_err_addr[bank].d = {flash_i.ecc_addr[bank], {BusByteWidth{1'b0}}};
+ assign hw2reg.ecc_err_addr[bank].de = flash_i.ecc_single_err[bank] |
+ flash_i.ecc_multi_err[bank];
+ end
+
// Generate edge triggered signals for sources that are level
logic [3:0] intr_src;
logic [3:0] intr_src_q;
@@ -807,7 +876,6 @@
assign intr_rd_full_o = reg2hw.intr_enable.rd_full.q & reg2hw.intr_state.rd_full.q;
assign intr_rd_lvl_o = reg2hw.intr_enable.rd_lvl.q & reg2hw.intr_state.rd_lvl.q;
assign intr_op_done_o = reg2hw.intr_enable.op_done.q & reg2hw.intr_state.op_done.q;
- assign intr_op_error_o = reg2hw.intr_enable.op_error.q & reg2hw.intr_state.op_error.q;
assign hw2reg.intr_state.prog_empty.d = 1'b1;
assign hw2reg.intr_state.prog_empty.de = intr_assert[3] |
@@ -835,12 +903,6 @@
(reg2hw.intr_test.op_done.qe &
reg2hw.intr_test.op_done.q);
- assign hw2reg.intr_state.op_error.d = 1'b1;
- assign hw2reg.intr_state.op_error.de = sw_ctrl_err |
- (reg2hw.intr_test.op_error.qe &
- reg2hw.intr_test.op_error.q);
-
-
// Unused bits
logic [BusByteWidth-1:0] unused_byte_sel;
@@ -866,6 +928,5 @@
`ASSERT_KNOWN(IntrProgRdFullKnownO_A, intr_rd_full_o )
`ASSERT_KNOWN(IntrRdLvlKnownO_A, intr_rd_lvl_o )
`ASSERT_KNOWN(IntrOpDoneKnownO_A, intr_op_done_o )
- `ASSERT_KNOWN(IntrOpErrorKnownO_A, intr_op_error_o )
endmodule
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
index 2eb23c5..2e83463 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
@@ -299,6 +299,8 @@
logic [KeyWidth-1:0] data_key;
logic rd_buf_en;
tlul_pkg::tl_h2d_t tl_flash_c2p;
+ logic alert_trig;
+ logic alert_ack;
} flash_req_t;
// default value of flash_req_t (for dangling ports)
@@ -322,7 +324,9 @@
addr_key: RndCnstAddrKeyDefault,
data_key: RndCnstDataKeyDefault,
rd_buf_en: 1'b0,
- tl_flash_c2p: '0
+ tl_flash_c2p: '0,
+ alert_trig: 1'b0,
+ alert_ack: 1'b0
};
// memory to flash controller
@@ -335,6 +339,12 @@
logic [BusWidth-1:0] rd_data;
logic init_busy;
tlul_pkg::tl_d2h_t tl_flash_p2c;
+ logic flash_err;
+ logic flash_alert_p;
+ logic flash_alert_n;
+ logic [NumBanks-1:0] ecc_single_err;
+ logic [NumBanks-1:0] ecc_multi_err;
+ logic [NumBanks-1:0][BusAddrW-1:0] ecc_addr;
} flash_rsp_t;
// default value of flash_rsp_t (for dangling ports)
@@ -346,7 +356,13 @@
rd_err: '0,
rd_data: '0,
init_busy: 1'b0,
- tl_flash_p2c: '0
+ tl_flash_p2c: '0,
+ flash_err: 1'b0,
+ flash_alert_p: 1'b0,
+ flash_alert_n: 1'b1,
+ ecc_single_err: '0,
+ ecc_multi_err: '0,
+ ecc_addr: '0
};
// RMA entries
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 96b05b2..e3b9087 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_pkg.sv
@@ -20,6 +20,7 @@
parameter int BytesPerWord = 8;
parameter int BytesPerPage = 2048;
parameter int BytesPerBank = 524288;
+ parameter int NumAlerts = 3;
// Address width within the block
parameter int BlockAw = 9;
@@ -43,9 +44,6 @@
struct packed {
logic q;
} op_done;
- struct packed {
- logic q;
- } op_error;
} flash_ctrl_reg2hw_intr_state_reg_t;
typedef struct packed {
@@ -64,9 +62,6 @@
struct packed {
logic q;
} op_done;
- struct packed {
- logic q;
- } op_error;
} flash_ctrl_reg2hw_intr_enable_reg_t;
typedef struct packed {
@@ -90,11 +85,22 @@
logic q;
logic qe;
} op_done;
+ } flash_ctrl_reg2hw_intr_test_reg_t;
+
+ typedef struct packed {
struct packed {
logic q;
logic qe;
- } op_error;
- } flash_ctrl_reg2hw_intr_test_reg_t;
+ } recov_err;
+ struct packed {
+ logic q;
+ logic qe;
+ } recov_mp_err;
+ struct packed {
+ logic q;
+ logic qe;
+ } recov_ecc_err;
+ } flash_ctrl_reg2hw_alert_test_reg_t;
typedef struct packed {
struct packed {
@@ -337,6 +343,15 @@
} flash_ctrl_reg2hw_mp_bank_cfg_mreg_t;
typedef struct packed {
+ struct packed {
+ logic q;
+ } alert_ack;
+ struct packed {
+ logic q;
+ } alert_trig;
+ } flash_ctrl_reg2hw_phy_alert_cfg_reg_t;
+
+ typedef struct packed {
logic [31:0] q;
} flash_ctrl_reg2hw_scratch_reg_t;
@@ -375,10 +390,6 @@
logic d;
logic de;
} op_done;
- struct packed {
- logic d;
- logic de;
- } op_error;
} flash_ctrl_hw2reg_intr_state_reg_t;
typedef struct packed {
@@ -429,16 +440,45 @@
logic d;
logic de;
} init_wip;
- struct packed {
- logic [8:0] d;
- logic de;
- } error_addr;
} flash_ctrl_hw2reg_status_reg_t;
typedef struct packed {
struct packed {
logic d;
logic de;
+ } flash_err;
+ struct packed {
+ logic d;
+ logic de;
+ } flash_alert;
+ struct packed {
+ logic d;
+ logic de;
+ } mp_err;
+ struct packed {
+ logic d;
+ logic de;
+ } ecc_single_err;
+ struct packed {
+ logic d;
+ logic de;
+ } ecc_multi_err;
+ } flash_ctrl_hw2reg_err_code_reg_t;
+
+ typedef struct packed {
+ logic [8:0] d;
+ logic de;
+ } flash_ctrl_hw2reg_err_addr_reg_t;
+
+ typedef struct packed {
+ logic [19:0] d;
+ logic de;
+ } flash_ctrl_hw2reg_ecc_err_addr_mreg_t;
+
+ typedef struct packed {
+ struct packed {
+ logic d;
+ logic de;
} init_wip;
struct packed {
logic d;
@@ -455,22 +495,24 @@
// Register to internal design logic //
///////////////////////////////////////
typedef struct packed {
- flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [519:514]
- flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [513:508]
- flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [507:496]
- flash_ctrl_reg2hw_control_reg_t control; // [495:476]
- flash_ctrl_reg2hw_addr_reg_t addr; // [475:444]
- flash_ctrl_reg2hw_prog_type_en_reg_t prog_type_en; // [443:442]
- flash_ctrl_reg2hw_erase_suspend_reg_t erase_suspend; // [441:441]
- flash_ctrl_reg2hw_mp_region_cfg_mreg_t [7:0] mp_region_cfg; // [440:233]
- flash_ctrl_reg2hw_default_region_reg_t default_region; // [232:227]
- flash_ctrl_reg2hw_bank0_info0_page_cfg_mreg_t [9:0] bank0_info0_page_cfg; // [226:157]
- flash_ctrl_reg2hw_bank0_info1_page_cfg_mreg_t [0:0] bank0_info1_page_cfg; // [156:150]
- flash_ctrl_reg2hw_bank0_info2_page_cfg_mreg_t [1:0] bank0_info2_page_cfg; // [149:136]
- flash_ctrl_reg2hw_bank1_info0_page_cfg_mreg_t [9:0] bank1_info0_page_cfg; // [135:66]
- flash_ctrl_reg2hw_bank1_info1_page_cfg_mreg_t [0:0] bank1_info1_page_cfg; // [65:59]
- flash_ctrl_reg2hw_bank1_info2_page_cfg_mreg_t [1:0] bank1_info2_page_cfg; // [58:45]
- flash_ctrl_reg2hw_mp_bank_cfg_mreg_t [1:0] mp_bank_cfg; // [44:43]
+ flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [523:519]
+ flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [518:514]
+ flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [513:504]
+ flash_ctrl_reg2hw_alert_test_reg_t alert_test; // [503:498]
+ flash_ctrl_reg2hw_control_reg_t control; // [497:478]
+ flash_ctrl_reg2hw_addr_reg_t addr; // [477:446]
+ flash_ctrl_reg2hw_prog_type_en_reg_t prog_type_en; // [445:444]
+ flash_ctrl_reg2hw_erase_suspend_reg_t erase_suspend; // [443:443]
+ flash_ctrl_reg2hw_mp_region_cfg_mreg_t [7:0] mp_region_cfg; // [442:235]
+ flash_ctrl_reg2hw_default_region_reg_t default_region; // [234:229]
+ flash_ctrl_reg2hw_bank0_info0_page_cfg_mreg_t [9:0] bank0_info0_page_cfg; // [228:159]
+ flash_ctrl_reg2hw_bank0_info1_page_cfg_mreg_t [0:0] bank0_info1_page_cfg; // [158:152]
+ flash_ctrl_reg2hw_bank0_info2_page_cfg_mreg_t [1:0] bank0_info2_page_cfg; // [151:138]
+ flash_ctrl_reg2hw_bank1_info0_page_cfg_mreg_t [9:0] bank1_info0_page_cfg; // [137:68]
+ flash_ctrl_reg2hw_bank1_info1_page_cfg_mreg_t [0:0] bank1_info1_page_cfg; // [67:61]
+ flash_ctrl_reg2hw_bank1_info2_page_cfg_mreg_t [1:0] bank1_info2_page_cfg; // [60:47]
+ flash_ctrl_reg2hw_mp_bank_cfg_mreg_t [1:0] mp_bank_cfg; // [46:45]
+ flash_ctrl_reg2hw_phy_alert_cfg_reg_t phy_alert_cfg; // [44:43]
flash_ctrl_reg2hw_scratch_reg_t scratch; // [42:11]
flash_ctrl_reg2hw_fifo_lvl_reg_t fifo_lvl; // [10:1]
flash_ctrl_reg2hw_fifo_rst_reg_t fifo_rst; // [0:0]
@@ -480,12 +522,15 @@
// Internal design logic to register //
///////////////////////////////////////
typedef struct packed {
- flash_ctrl_hw2reg_intr_state_reg_t intr_state; // [46:35]
- flash_ctrl_hw2reg_ctrl_regwen_reg_t ctrl_regwen; // [34:34]
- flash_ctrl_hw2reg_control_reg_t control; // [33:32]
- flash_ctrl_hw2reg_erase_suspend_reg_t erase_suspend; // [31:30]
- flash_ctrl_hw2reg_op_status_reg_t op_status; // [29:26]
- flash_ctrl_hw2reg_status_reg_t status; // [25:6]
+ flash_ctrl_hw2reg_intr_state_reg_t intr_state; // [96:87]
+ flash_ctrl_hw2reg_ctrl_regwen_reg_t ctrl_regwen; // [86:86]
+ flash_ctrl_hw2reg_control_reg_t control; // [85:84]
+ flash_ctrl_hw2reg_erase_suspend_reg_t erase_suspend; // [83:82]
+ flash_ctrl_hw2reg_op_status_reg_t op_status; // [81:78]
+ flash_ctrl_hw2reg_status_reg_t status; // [77:68]
+ flash_ctrl_hw2reg_err_code_reg_t err_code; // [67:58]
+ flash_ctrl_hw2reg_err_addr_reg_t err_addr; // [57:48]
+ flash_ctrl_hw2reg_ecc_err_addr_mreg_t [1:0] ecc_err_addr; // [47:6]
flash_ctrl_hw2reg_phy_status_reg_t phy_status; // [5:0]
} flash_ctrl_hw2reg_t;
@@ -493,93 +538,99 @@
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_STATE_OFFSET = 9'h 0;
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_ENABLE_OFFSET = 9'h 4;
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_TEST_OFFSET = 9'h 8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 10;
- parameter logic [BlockAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 14;
- parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 18;
- parameter logic [BlockAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 1c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 20;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 24;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 28;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 2c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 30;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 34;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 38;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 3c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 40;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 44;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 48;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 4c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 50;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 54;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 58;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 5c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 60;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 64;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 68;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 6c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 70;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 74;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 78;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 7c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 80;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 84;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 88;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 8c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 90;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 94;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h 98;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h 9c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h a4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h a8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h ac;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h b4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h b8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h bc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h c4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h c8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h cc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h d4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h d8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h dc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h e4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h e8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h ec;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h f4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h f8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h fc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 100;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 104;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 108;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 10c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 110;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 114;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 118;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 11c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 120;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 124;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 128;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 12c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 130;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 134;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 138;
- parameter logic [BlockAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 13c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 140;
- parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 144;
- parameter logic [BlockAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 148;
- parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 14c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 150;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ALERT_TEST_OFFSET = 9'h c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h 10;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 14;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 18;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 1c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 20;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 24;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 28;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 2c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 30;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 34;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 38;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 3c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 40;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 44;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 48;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 4c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 50;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 54;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 58;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 5c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 60;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 64;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 68;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 6c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 70;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 74;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 78;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 7c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 80;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 84;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 88;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 8c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 90;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 94;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 98;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h 9c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h a0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h a8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h ac;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h b0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h b8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h bc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h c0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h c8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h cc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h d0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h d8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h dc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h e0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h e8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h ec;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h f0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h f8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h fc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h 100;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 104;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 108;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 10c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 110;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 114;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 118;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 11c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 120;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 124;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 128;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 12c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 130;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 134;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 138;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 13c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 140;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 144;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERR_CODE_OFFSET = 9'h 148;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERR_ADDR_OFFSET = 9'h 14c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ECC_ERR_ADDR_0_OFFSET = 9'h 150;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ECC_ERR_ADDR_1_OFFSET = 9'h 154;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_ALERT_CFG_OFFSET = 9'h 158;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 15c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 160;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 164;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 168;
// Window parameter
- parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 154;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 16c;
parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_SIZE = 9'h 4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 158;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 170;
parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_SIZE = 9'h 4;
parameter logic [BlockAw-1:0] FLASH_CTRL_PRIM_FLASH_CFG_OFFSET = 9'h 180;
parameter logic [BlockAw-1:0] FLASH_CTRL_PRIM_FLASH_CFG_SIZE = 9'h 54;
@@ -589,6 +640,7 @@
FLASH_CTRL_INTR_STATE,
FLASH_CTRL_INTR_ENABLE,
FLASH_CTRL_INTR_TEST,
+ FLASH_CTRL_ALERT_TEST,
FLASH_CTRL_CTRL_REGWEN,
FLASH_CTRL_CONTROL,
FLASH_CTRL_ADDR,
@@ -667,6 +719,11 @@
FLASH_CTRL_MP_BANK_CFG,
FLASH_CTRL_OP_STATUS,
FLASH_CTRL_STATUS,
+ FLASH_CTRL_ERR_CODE,
+ FLASH_CTRL_ERR_ADDR,
+ FLASH_CTRL_ECC_ERR_ADDR_0,
+ FLASH_CTRL_ECC_ERR_ADDR_1,
+ FLASH_CTRL_PHY_ALERT_CFG,
FLASH_CTRL_PHY_STATUS,
FLASH_CTRL_SCRATCH,
FLASH_CTRL_FIFO_LVL,
@@ -674,92 +731,98 @@
} flash_ctrl_id_e;
// Register width information to check illegal writes
- parameter logic [3:0] FLASH_CTRL_PERMIT [85] = '{
+ parameter logic [3:0] FLASH_CTRL_PERMIT [91] = '{
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_CTRL_REGWEN
- 4'b 1111, // index[ 4] FLASH_CTRL_CONTROL
- 4'b 1111, // index[ 5] FLASH_CTRL_ADDR
- 4'b 0001, // index[ 6] FLASH_CTRL_PROG_TYPE_EN
- 4'b 0001, // index[ 7] FLASH_CTRL_ERASE_SUSPEND
- 4'b 0001, // index[ 8] FLASH_CTRL_REGION_CFG_REGWEN_0
- 4'b 0001, // index[ 9] FLASH_CTRL_REGION_CFG_REGWEN_1
- 4'b 0001, // index[10] FLASH_CTRL_REGION_CFG_REGWEN_2
- 4'b 0001, // index[11] FLASH_CTRL_REGION_CFG_REGWEN_3
- 4'b 0001, // index[12] FLASH_CTRL_REGION_CFG_REGWEN_4
- 4'b 0001, // index[13] FLASH_CTRL_REGION_CFG_REGWEN_5
- 4'b 0001, // index[14] FLASH_CTRL_REGION_CFG_REGWEN_6
- 4'b 0001, // index[15] FLASH_CTRL_REGION_CFG_REGWEN_7
- 4'b 1111, // index[16] FLASH_CTRL_MP_REGION_CFG_0
- 4'b 1111, // index[17] FLASH_CTRL_MP_REGION_CFG_1
- 4'b 1111, // index[18] FLASH_CTRL_MP_REGION_CFG_2
- 4'b 1111, // index[19] FLASH_CTRL_MP_REGION_CFG_3
- 4'b 1111, // index[20] FLASH_CTRL_MP_REGION_CFG_4
- 4'b 1111, // index[21] FLASH_CTRL_MP_REGION_CFG_5
- 4'b 1111, // index[22] FLASH_CTRL_MP_REGION_CFG_6
- 4'b 1111, // index[23] FLASH_CTRL_MP_REGION_CFG_7
- 4'b 0001, // index[24] FLASH_CTRL_DEFAULT_REGION
- 4'b 0001, // index[25] FLASH_CTRL_BANK0_INFO0_REGWEN_0
- 4'b 0001, // index[26] FLASH_CTRL_BANK0_INFO0_REGWEN_1
- 4'b 0001, // index[27] FLASH_CTRL_BANK0_INFO0_REGWEN_2
- 4'b 0001, // index[28] FLASH_CTRL_BANK0_INFO0_REGWEN_3
- 4'b 0001, // index[29] FLASH_CTRL_BANK0_INFO0_REGWEN_4
- 4'b 0001, // index[30] FLASH_CTRL_BANK0_INFO0_REGWEN_5
- 4'b 0001, // index[31] FLASH_CTRL_BANK0_INFO0_REGWEN_6
- 4'b 0001, // index[32] FLASH_CTRL_BANK0_INFO0_REGWEN_7
- 4'b 0001, // index[33] FLASH_CTRL_BANK0_INFO0_REGWEN_8
- 4'b 0001, // index[34] FLASH_CTRL_BANK0_INFO0_REGWEN_9
- 4'b 0001, // index[35] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0
- 4'b 0001, // index[36] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1
- 4'b 0001, // index[37] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2
- 4'b 0001, // index[38] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3
- 4'b 0001, // index[39] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4
- 4'b 0001, // index[40] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5
- 4'b 0001, // index[41] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6
- 4'b 0001, // index[42] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7
- 4'b 0001, // index[43] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8
- 4'b 0001, // index[44] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9
- 4'b 0001, // index[45] FLASH_CTRL_BANK0_INFO1_REGWEN
- 4'b 0001, // index[46] FLASH_CTRL_BANK0_INFO1_PAGE_CFG
- 4'b 0001, // index[47] FLASH_CTRL_BANK0_INFO2_REGWEN_0
- 4'b 0001, // index[48] FLASH_CTRL_BANK0_INFO2_REGWEN_1
- 4'b 0001, // index[49] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0
- 4'b 0001, // index[50] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1
- 4'b 0001, // index[51] FLASH_CTRL_BANK1_INFO0_REGWEN_0
- 4'b 0001, // index[52] FLASH_CTRL_BANK1_INFO0_REGWEN_1
- 4'b 0001, // index[53] FLASH_CTRL_BANK1_INFO0_REGWEN_2
- 4'b 0001, // index[54] FLASH_CTRL_BANK1_INFO0_REGWEN_3
- 4'b 0001, // index[55] FLASH_CTRL_BANK1_INFO0_REGWEN_4
- 4'b 0001, // index[56] FLASH_CTRL_BANK1_INFO0_REGWEN_5
- 4'b 0001, // index[57] FLASH_CTRL_BANK1_INFO0_REGWEN_6
- 4'b 0001, // index[58] FLASH_CTRL_BANK1_INFO0_REGWEN_7
- 4'b 0001, // index[59] FLASH_CTRL_BANK1_INFO0_REGWEN_8
- 4'b 0001, // index[60] FLASH_CTRL_BANK1_INFO0_REGWEN_9
- 4'b 0001, // index[61] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0
- 4'b 0001, // index[62] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1
- 4'b 0001, // index[63] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2
- 4'b 0001, // index[64] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3
- 4'b 0001, // index[65] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4
- 4'b 0001, // index[66] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5
- 4'b 0001, // index[67] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6
- 4'b 0001, // index[68] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7
- 4'b 0001, // index[69] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8
- 4'b 0001, // index[70] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9
- 4'b 0001, // index[71] FLASH_CTRL_BANK1_INFO1_REGWEN
- 4'b 0001, // index[72] FLASH_CTRL_BANK1_INFO1_PAGE_CFG
- 4'b 0001, // index[73] FLASH_CTRL_BANK1_INFO2_REGWEN_0
- 4'b 0001, // index[74] FLASH_CTRL_BANK1_INFO2_REGWEN_1
- 4'b 0001, // index[75] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0
- 4'b 0001, // index[76] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1
- 4'b 0001, // index[77] FLASH_CTRL_BANK_CFG_REGWEN
- 4'b 0001, // index[78] FLASH_CTRL_MP_BANK_CFG
- 4'b 0001, // index[79] FLASH_CTRL_OP_STATUS
- 4'b 0111, // index[80] FLASH_CTRL_STATUS
- 4'b 0001, // index[81] FLASH_CTRL_PHY_STATUS
- 4'b 1111, // index[82] FLASH_CTRL_SCRATCH
- 4'b 0011, // index[83] FLASH_CTRL_FIFO_LVL
- 4'b 0001 // index[84] FLASH_CTRL_FIFO_RST
+ 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
+ 4'b 0011, // index[83] FLASH_CTRL_ERR_ADDR
+ 4'b 0111, // index[84] FLASH_CTRL_ECC_ERR_ADDR_0
+ 4'b 0111, // index[85] FLASH_CTRL_ECC_ERR_ADDR_1
+ 4'b 0001, // index[86] FLASH_CTRL_PHY_ALERT_CFG
+ 4'b 0001, // index[87] FLASH_CTRL_PHY_STATUS
+ 4'b 1111, // index[88] FLASH_CTRL_SCRATCH
+ 4'b 0011, // index[89] FLASH_CTRL_FIFO_LVL
+ 4'b 0001 // index[90] FLASH_CTRL_FIFO_RST
};
endpackage
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_top.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_top.sv
index 973aeb4..6b601c3 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_top.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_reg_top.sv
@@ -90,10 +90,10 @@
reg_steer = 3; // Default set to register
// TODO: Can below codes be unique case () inside ?
- if (tl_i.a_address[AW-1:0] >= 340 && tl_i.a_address[AW-1:0] < 344) begin
+ if (tl_i.a_address[AW-1:0] >= 364 && tl_i.a_address[AW-1:0] < 368) begin
reg_steer = 0;
end
- if (tl_i.a_address[AW-1:0] >= 344 && tl_i.a_address[AW-1:0] < 348) begin
+ if (tl_i.a_address[AW-1:0] >= 368 && tl_i.a_address[AW-1:0] < 372) begin
reg_steer = 1;
end
if (tl_i.a_address[AW-1:0] >= 384 && tl_i.a_address[AW-1:0] < 468) begin
@@ -141,9 +141,6 @@
logic intr_state_op_done_qs;
logic intr_state_op_done_wd;
logic intr_state_op_done_we;
- logic intr_state_op_error_qs;
- logic intr_state_op_error_wd;
- logic intr_state_op_error_we;
logic intr_enable_prog_empty_qs;
logic intr_enable_prog_empty_wd;
logic intr_enable_prog_empty_we;
@@ -159,9 +156,6 @@
logic intr_enable_op_done_qs;
logic intr_enable_op_done_wd;
logic intr_enable_op_done_we;
- logic intr_enable_op_error_qs;
- logic intr_enable_op_error_wd;
- logic intr_enable_op_error_we;
logic intr_test_prog_empty_wd;
logic intr_test_prog_empty_we;
logic intr_test_prog_lvl_wd;
@@ -172,8 +166,12 @@
logic intr_test_rd_lvl_we;
logic intr_test_op_done_wd;
logic intr_test_op_done_we;
- logic intr_test_op_error_wd;
- logic intr_test_op_error_we;
+ logic alert_test_recov_err_wd;
+ logic alert_test_recov_err_we;
+ logic alert_test_recov_mp_err_wd;
+ logic alert_test_recov_mp_err_we;
+ logic alert_test_recov_ecc_err_wd;
+ logic alert_test_recov_ecc_err_we;
logic ctrl_regwen_qs;
logic ctrl_regwen_re;
logic control_start_qs;
@@ -1111,7 +1109,30 @@
logic status_prog_full_qs;
logic status_prog_empty_qs;
logic status_init_wip_qs;
- logic [8:0] status_error_addr_qs;
+ logic err_code_flash_err_qs;
+ logic err_code_flash_err_wd;
+ logic err_code_flash_err_we;
+ logic err_code_flash_alert_qs;
+ logic err_code_flash_alert_wd;
+ logic err_code_flash_alert_we;
+ logic err_code_mp_err_qs;
+ logic err_code_mp_err_wd;
+ logic err_code_mp_err_we;
+ logic err_code_ecc_single_err_qs;
+ logic err_code_ecc_single_err_wd;
+ logic err_code_ecc_single_err_we;
+ logic err_code_ecc_multi_err_qs;
+ logic err_code_ecc_multi_err_wd;
+ logic err_code_ecc_multi_err_we;
+ logic [8:0] err_addr_qs;
+ logic [19:0] ecc_err_addr_0_qs;
+ logic [19:0] ecc_err_addr_1_qs;
+ logic phy_alert_cfg_alert_ack_qs;
+ logic phy_alert_cfg_alert_ack_wd;
+ logic phy_alert_cfg_alert_ack_we;
+ logic phy_alert_cfg_alert_trig_qs;
+ logic phy_alert_cfg_alert_trig_wd;
+ logic phy_alert_cfg_alert_trig_we;
logic phy_status_init_wip_qs;
logic phy_status_prog_normal_avail_qs;
logic phy_status_prog_repair_avail_qs;
@@ -1261,32 +1282,6 @@
);
- // F[op_error]: 5:5
- prim_subreg #(
- .DW (1),
- .SWACCESS("W1C"),
- .RESVAL (1'h0)
- ) u_intr_state_op_error (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (intr_state_op_error_we),
- .wd (intr_state_op_error_wd),
-
- // from internal hardware
- .de (hw2reg.intr_state.op_error.de),
- .d (hw2reg.intr_state.op_error.d ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.intr_state.op_error.q ),
-
- // to register interface (read)
- .qs (intr_state_op_error_qs)
- );
-
-
// R[intr_enable]: V(False)
// F[prog_empty]: 0:0
@@ -1419,32 +1414,6 @@
);
- // F[op_error]: 5:5
- prim_subreg #(
- .DW (1),
- .SWACCESS("RW"),
- .RESVAL (1'h0)
- ) u_intr_enable_op_error (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (intr_enable_op_error_we),
- .wd (intr_enable_op_error_wd),
-
- // from internal hardware
- .de (1'b0),
- .d ('0 ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.intr_enable.op_error.q ),
-
- // to register interface (read)
- .qs (intr_enable_op_error_qs)
- );
-
-
// R[intr_test]: V(True)
// F[prog_empty]: 0:0
@@ -1522,17 +1491,49 @@
);
- // F[op_error]: 5:5
+ // R[alert_test]: V(True)
+
+ // F[recov_err]: 0:0
prim_subreg_ext #(
.DW (1)
- ) u_intr_test_op_error (
+ ) u_alert_test_recov_err (
.re (1'b0),
- .we (intr_test_op_error_we),
- .wd (intr_test_op_error_wd),
+ .we (alert_test_recov_err_we),
+ .wd (alert_test_recov_err_wd),
.d ('0),
.qre (),
- .qe (reg2hw.intr_test.op_error.qe),
- .q (reg2hw.intr_test.op_error.q ),
+ .qe (reg2hw.alert_test.recov_err.qe),
+ .q (reg2hw.alert_test.recov_err.q ),
+ .qs ()
+ );
+
+
+ // F[recov_mp_err]: 1:1
+ prim_subreg_ext #(
+ .DW (1)
+ ) u_alert_test_recov_mp_err (
+ .re (1'b0),
+ .we (alert_test_recov_mp_err_we),
+ .wd (alert_test_recov_mp_err_wd),
+ .d ('0),
+ .qre (),
+ .qe (reg2hw.alert_test.recov_mp_err.qe),
+ .q (reg2hw.alert_test.recov_mp_err.q ),
+ .qs ()
+ );
+
+
+ // F[recov_ecc_err]: 2:2
+ prim_subreg_ext #(
+ .DW (1)
+ ) u_alert_test_recov_ecc_err (
+ .re (1'b0),
+ .we (alert_test_recov_ecc_err_we),
+ .wd (alert_test_recov_ecc_err_wd),
+ .d ('0),
+ .qre (),
+ .qe (reg2hw.alert_test.recov_ecc_err.qe),
+ .q (reg2hw.alert_test.recov_ecc_err.q ),
.qs ()
);
@@ -9920,12 +9921,145 @@
);
- // F[error_addr]: 16:8
+ // R[err_code]: V(False)
+
+ // F[flash_err]: 0:0
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_flash_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_flash_err_we),
+ .wd (err_code_flash_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.flash_err.de),
+ .d (hw2reg.err_code.flash_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_flash_err_qs)
+ );
+
+
+ // F[flash_alert]: 1:1
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_flash_alert (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_flash_alert_we),
+ .wd (err_code_flash_alert_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.flash_alert.de),
+ .d (hw2reg.err_code.flash_alert.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_flash_alert_qs)
+ );
+
+
+ // F[mp_err]: 2:2
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_mp_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_mp_err_we),
+ .wd (err_code_mp_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.mp_err.de),
+ .d (hw2reg.err_code.mp_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_mp_err_qs)
+ );
+
+
+ // F[ecc_single_err]: 3:3
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_ecc_single_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_ecc_single_err_we),
+ .wd (err_code_ecc_single_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.ecc_single_err.de),
+ .d (hw2reg.err_code.ecc_single_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_ecc_single_err_qs)
+ );
+
+
+ // F[ecc_multi_err]: 4:4
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_ecc_multi_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_ecc_multi_err_we),
+ .wd (err_code_ecc_multi_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.ecc_multi_err.de),
+ .d (hw2reg.err_code.ecc_multi_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_ecc_multi_err_qs)
+ );
+
+
+ // R[err_addr]: V(False)
+
prim_subreg #(
.DW (9),
.SWACCESS("RO"),
.RESVAL (9'h0)
- ) u_status_error_addr (
+ ) u_err_addr (
.clk_i (clk_i ),
.rst_ni (rst_ni ),
@@ -9933,15 +10067,123 @@
.wd ('0 ),
// from internal hardware
- .de (hw2reg.status.error_addr.de),
- .d (hw2reg.status.error_addr.d ),
+ .de (hw2reg.err_addr.de),
+ .d (hw2reg.err_addr.d ),
// to internal hardware
.qe (),
.q (),
// to register interface (read)
- .qs (status_error_addr_qs)
+ .qs (err_addr_qs)
+ );
+
+
+
+ // Subregister 0 of Multireg ecc_err_addr
+ // R[ecc_err_addr_0]: V(False)
+
+ prim_subreg #(
+ .DW (20),
+ .SWACCESS("RO"),
+ .RESVAL (20'h0)
+ ) u_ecc_err_addr_0 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ .we (1'b0),
+ .wd ('0 ),
+
+ // from internal hardware
+ .de (hw2reg.ecc_err_addr[0].de),
+ .d (hw2reg.ecc_err_addr[0].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (ecc_err_addr_0_qs)
+ );
+
+ // Subregister 1 of Multireg ecc_err_addr
+ // R[ecc_err_addr_1]: V(False)
+
+ prim_subreg #(
+ .DW (20),
+ .SWACCESS("RO"),
+ .RESVAL (20'h0)
+ ) u_ecc_err_addr_1 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ .we (1'b0),
+ .wd ('0 ),
+
+ // from internal hardware
+ .de (hw2reg.ecc_err_addr[1].de),
+ .d (hw2reg.ecc_err_addr[1].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (ecc_err_addr_1_qs)
+ );
+
+
+ // R[phy_alert_cfg]: V(False)
+
+ // F[alert_ack]: 0:0
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_phy_alert_cfg_alert_ack (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (phy_alert_cfg_alert_ack_we),
+ .wd (phy_alert_cfg_alert_ack_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.phy_alert_cfg.alert_ack.q ),
+
+ // to register interface (read)
+ .qs (phy_alert_cfg_alert_ack_qs)
+ );
+
+
+ // F[alert_trig]: 1:1
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_phy_alert_cfg_alert_trig (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (phy_alert_cfg_alert_trig_we),
+ .wd (phy_alert_cfg_alert_trig_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.phy_alert_cfg.alert_trig.q ),
+
+ // to register interface (read)
+ .qs (phy_alert_cfg_alert_trig_qs)
);
@@ -10132,94 +10374,100 @@
- logic [84:0] addr_hit;
+ logic [90: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_CTRL_REGWEN_OFFSET);
- addr_hit[ 4] = (reg_addr == FLASH_CTRL_CONTROL_OFFSET);
- addr_hit[ 5] = (reg_addr == FLASH_CTRL_ADDR_OFFSET);
- addr_hit[ 6] = (reg_addr == FLASH_CTRL_PROG_TYPE_EN_OFFSET);
- addr_hit[ 7] = (reg_addr == FLASH_CTRL_ERASE_SUSPEND_OFFSET);
- addr_hit[ 8] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET);
- addr_hit[ 9] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET);
- addr_hit[10] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET);
- addr_hit[11] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET);
- addr_hit[12] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET);
- addr_hit[13] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET);
- addr_hit[14] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET);
- addr_hit[15] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET);
- addr_hit[16] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_0_OFFSET);
- addr_hit[17] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_1_OFFSET);
- addr_hit[18] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_2_OFFSET);
- addr_hit[19] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_3_OFFSET);
- addr_hit[20] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_4_OFFSET);
- addr_hit[21] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_5_OFFSET);
- addr_hit[22] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_6_OFFSET);
- addr_hit[23] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_7_OFFSET);
- addr_hit[24] = (reg_addr == FLASH_CTRL_DEFAULT_REGION_OFFSET);
- addr_hit[25] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET);
- addr_hit[26] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET);
- addr_hit[27] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET);
- addr_hit[28] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET);
- addr_hit[29] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET);
- addr_hit[30] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET);
- addr_hit[31] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET);
- addr_hit[32] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET);
- addr_hit[33] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET);
- addr_hit[34] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET);
- addr_hit[35] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[36] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[37] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[38] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[39] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[40] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[41] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[42] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[43] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[44] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[45] = (reg_addr == FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET);
- addr_hit[46] = (reg_addr == FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET);
- addr_hit[47] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET);
- addr_hit[48] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET);
- addr_hit[49] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[50] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[51] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET);
- addr_hit[52] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET);
- addr_hit[53] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET);
- addr_hit[54] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET);
- addr_hit[55] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET);
- addr_hit[56] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET);
- addr_hit[57] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET);
- addr_hit[58] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET);
- addr_hit[59] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET);
- addr_hit[60] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET);
- addr_hit[61] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[62] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[63] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[64] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[65] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[66] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[67] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[68] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[69] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[70] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[71] = (reg_addr == FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET);
- addr_hit[72] = (reg_addr == FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET);
- addr_hit[73] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET);
- addr_hit[74] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET);
- addr_hit[75] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[76] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[77] = (reg_addr == FLASH_CTRL_BANK_CFG_REGWEN_OFFSET);
- addr_hit[78] = (reg_addr == FLASH_CTRL_MP_BANK_CFG_OFFSET);
- addr_hit[79] = (reg_addr == FLASH_CTRL_OP_STATUS_OFFSET);
- addr_hit[80] = (reg_addr == FLASH_CTRL_STATUS_OFFSET);
- addr_hit[81] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
- addr_hit[82] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
- addr_hit[83] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
- addr_hit[84] = (reg_addr == FLASH_CTRL_FIFO_RST_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_OFFSET);
+ addr_hit[83] = (reg_addr == FLASH_CTRL_ERR_ADDR_OFFSET);
+ addr_hit[84] = (reg_addr == FLASH_CTRL_ECC_ERR_ADDR_0_OFFSET);
+ addr_hit[85] = (reg_addr == FLASH_CTRL_ECC_ERR_ADDR_1_OFFSET);
+ addr_hit[86] = (reg_addr == FLASH_CTRL_PHY_ALERT_CFG_OFFSET);
+ addr_hit[87] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
+ addr_hit[88] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
+ addr_hit[89] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
+ addr_hit[90] = (reg_addr == FLASH_CTRL_FIFO_RST_OFFSET);
end
assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -10312,6 +10560,12 @@
if (addr_hit[82] && reg_we && (FLASH_CTRL_PERMIT[82] != (FLASH_CTRL_PERMIT[82] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[83] && reg_we && (FLASH_CTRL_PERMIT[83] != (FLASH_CTRL_PERMIT[83] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[84] && reg_we && (FLASH_CTRL_PERMIT[84] != (FLASH_CTRL_PERMIT[84] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[85] && reg_we && (FLASH_CTRL_PERMIT[85] != (FLASH_CTRL_PERMIT[85] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[86] && reg_we && (FLASH_CTRL_PERMIT[86] != (FLASH_CTRL_PERMIT[86] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[87] && reg_we && (FLASH_CTRL_PERMIT[87] != (FLASH_CTRL_PERMIT[87] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[88] && reg_we && (FLASH_CTRL_PERMIT[88] != (FLASH_CTRL_PERMIT[88] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[89] && reg_we && (FLASH_CTRL_PERMIT[89] != (FLASH_CTRL_PERMIT[89] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[90] && reg_we && (FLASH_CTRL_PERMIT[90] != (FLASH_CTRL_PERMIT[90] & reg_be))) wr_err = 1'b1 ;
end
assign intr_state_prog_empty_we = addr_hit[0] & reg_we & ~wr_err;
@@ -10329,9 +10583,6 @@
assign intr_state_op_done_we = addr_hit[0] & reg_we & ~wr_err;
assign intr_state_op_done_wd = reg_wdata[4];
- assign intr_state_op_error_we = addr_hit[0] & reg_we & ~wr_err;
- assign intr_state_op_error_wd = reg_wdata[5];
-
assign intr_enable_prog_empty_we = addr_hit[1] & reg_we & ~wr_err;
assign intr_enable_prog_empty_wd = reg_wdata[0];
@@ -10347,9 +10598,6 @@
assign intr_enable_op_done_we = addr_hit[1] & reg_we & ~wr_err;
assign intr_enable_op_done_wd = reg_wdata[4];
- assign intr_enable_op_error_we = addr_hit[1] & reg_we & ~wr_err;
- assign intr_enable_op_error_wd = reg_wdata[5];
-
assign intr_test_prog_empty_we = addr_hit[2] & reg_we & ~wr_err;
assign intr_test_prog_empty_wd = reg_wdata[0];
@@ -10365,939 +10613,945 @@
assign intr_test_op_done_we = addr_hit[2] & reg_we & ~wr_err;
assign intr_test_op_done_wd = reg_wdata[4];
- assign intr_test_op_error_we = addr_hit[2] & reg_we & ~wr_err;
- assign intr_test_op_error_wd = reg_wdata[5];
+ assign alert_test_recov_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_err_wd = reg_wdata[0];
- assign ctrl_regwen_re = addr_hit[3] && reg_re;
+ assign alert_test_recov_mp_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_mp_err_wd = reg_wdata[1];
- assign control_start_we = addr_hit[4] & reg_we & ~wr_err;
+ assign alert_test_recov_ecc_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_ecc_err_wd = reg_wdata[2];
+
+ assign ctrl_regwen_re = addr_hit[4] && reg_re;
+
+ assign control_start_we = addr_hit[5] & reg_we & ~wr_err;
assign control_start_wd = reg_wdata[0];
- assign control_op_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_op_we = addr_hit[5] & reg_we & ~wr_err;
assign control_op_wd = reg_wdata[5:4];
- assign control_prog_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_prog_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_prog_sel_wd = reg_wdata[6];
- assign control_erase_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_erase_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_erase_sel_wd = reg_wdata[7];
- assign control_partition_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_partition_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_partition_sel_wd = reg_wdata[8];
- assign control_info_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_info_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_info_sel_wd = reg_wdata[10:9];
- assign control_num_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_num_we = addr_hit[5] & reg_we & ~wr_err;
assign control_num_wd = reg_wdata[27:16];
- assign addr_we = addr_hit[5] & reg_we & ~wr_err;
+ assign addr_we = addr_hit[6] & reg_we & ~wr_err;
assign addr_wd = reg_wdata[31:0];
- assign prog_type_en_normal_we = addr_hit[6] & reg_we & ~wr_err;
+ assign prog_type_en_normal_we = addr_hit[7] & reg_we & ~wr_err;
assign prog_type_en_normal_wd = reg_wdata[0];
- assign prog_type_en_repair_we = addr_hit[6] & reg_we & ~wr_err;
+ assign prog_type_en_repair_we = addr_hit[7] & reg_we & ~wr_err;
assign prog_type_en_repair_wd = reg_wdata[1];
- assign erase_suspend_we = addr_hit[7] & reg_we & ~wr_err;
+ assign erase_suspend_we = addr_hit[8] & reg_we & ~wr_err;
assign erase_suspend_wd = reg_wdata[0];
- assign region_cfg_regwen_0_we = addr_hit[8] & reg_we & ~wr_err;
+ assign region_cfg_regwen_0_we = addr_hit[9] & reg_we & ~wr_err;
assign region_cfg_regwen_0_wd = reg_wdata[0];
- assign region_cfg_regwen_1_we = addr_hit[9] & reg_we & ~wr_err;
+ assign region_cfg_regwen_1_we = addr_hit[10] & reg_we & ~wr_err;
assign region_cfg_regwen_1_wd = reg_wdata[0];
- assign region_cfg_regwen_2_we = addr_hit[10] & reg_we & ~wr_err;
+ assign region_cfg_regwen_2_we = addr_hit[11] & reg_we & ~wr_err;
assign region_cfg_regwen_2_wd = reg_wdata[0];
- assign region_cfg_regwen_3_we = addr_hit[11] & reg_we & ~wr_err;
+ assign region_cfg_regwen_3_we = addr_hit[12] & reg_we & ~wr_err;
assign region_cfg_regwen_3_wd = reg_wdata[0];
- assign region_cfg_regwen_4_we = addr_hit[12] & reg_we & ~wr_err;
+ assign region_cfg_regwen_4_we = addr_hit[13] & reg_we & ~wr_err;
assign region_cfg_regwen_4_wd = reg_wdata[0];
- assign region_cfg_regwen_5_we = addr_hit[13] & reg_we & ~wr_err;
+ assign region_cfg_regwen_5_we = addr_hit[14] & reg_we & ~wr_err;
assign region_cfg_regwen_5_wd = reg_wdata[0];
- assign region_cfg_regwen_6_we = addr_hit[14] & reg_we & ~wr_err;
+ assign region_cfg_regwen_6_we = addr_hit[15] & reg_we & ~wr_err;
assign region_cfg_regwen_6_wd = reg_wdata[0];
- assign region_cfg_regwen_7_we = addr_hit[15] & reg_we & ~wr_err;
+ assign region_cfg_regwen_7_we = addr_hit[16] & reg_we & ~wr_err;
assign region_cfg_regwen_7_wd = reg_wdata[0];
- assign mp_region_cfg_0_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_en_0_wd = reg_wdata[0];
- assign mp_region_cfg_0_rd_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_rd_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign mp_region_cfg_0_prog_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_prog_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign mp_region_cfg_0_erase_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_erase_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign mp_region_cfg_0_scramble_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_scramble_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign mp_region_cfg_0_ecc_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_ecc_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign mp_region_cfg_0_he_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_he_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_he_en_0_wd = reg_wdata[6];
- assign mp_region_cfg_0_base_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_base_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_base_0_wd = reg_wdata[16:8];
- assign mp_region_cfg_0_size_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_size_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_size_0_wd = reg_wdata[26:17];
- assign mp_region_cfg_1_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_en_1_wd = reg_wdata[0];
- assign mp_region_cfg_1_rd_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_rd_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign mp_region_cfg_1_prog_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_prog_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign mp_region_cfg_1_erase_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_erase_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign mp_region_cfg_1_scramble_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_scramble_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign mp_region_cfg_1_ecc_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_ecc_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign mp_region_cfg_1_he_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_he_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_he_en_1_wd = reg_wdata[6];
- assign mp_region_cfg_1_base_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_base_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_base_1_wd = reg_wdata[16:8];
- assign mp_region_cfg_1_size_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_size_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_size_1_wd = reg_wdata[26:17];
- assign mp_region_cfg_2_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_en_2_wd = reg_wdata[0];
- assign mp_region_cfg_2_rd_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_rd_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_rd_en_2_wd = reg_wdata[1];
- assign mp_region_cfg_2_prog_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_prog_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_prog_en_2_wd = reg_wdata[2];
- assign mp_region_cfg_2_erase_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_erase_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_erase_en_2_wd = reg_wdata[3];
- assign mp_region_cfg_2_scramble_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_scramble_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_scramble_en_2_wd = reg_wdata[4];
- assign mp_region_cfg_2_ecc_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_ecc_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_ecc_en_2_wd = reg_wdata[5];
- assign mp_region_cfg_2_he_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_he_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_he_en_2_wd = reg_wdata[6];
- assign mp_region_cfg_2_base_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_base_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_base_2_wd = reg_wdata[16:8];
- assign mp_region_cfg_2_size_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_size_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_size_2_wd = reg_wdata[26:17];
- assign mp_region_cfg_3_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_en_3_wd = reg_wdata[0];
- assign mp_region_cfg_3_rd_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_rd_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_rd_en_3_wd = reg_wdata[1];
- assign mp_region_cfg_3_prog_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_prog_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_prog_en_3_wd = reg_wdata[2];
- assign mp_region_cfg_3_erase_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_erase_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_erase_en_3_wd = reg_wdata[3];
- assign mp_region_cfg_3_scramble_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_scramble_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_scramble_en_3_wd = reg_wdata[4];
- assign mp_region_cfg_3_ecc_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_ecc_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_ecc_en_3_wd = reg_wdata[5];
- assign mp_region_cfg_3_he_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_he_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_he_en_3_wd = reg_wdata[6];
- assign mp_region_cfg_3_base_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_base_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_base_3_wd = reg_wdata[16:8];
- assign mp_region_cfg_3_size_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_size_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_size_3_wd = reg_wdata[26:17];
- assign mp_region_cfg_4_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_en_4_wd = reg_wdata[0];
- assign mp_region_cfg_4_rd_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_rd_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_rd_en_4_wd = reg_wdata[1];
- assign mp_region_cfg_4_prog_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_prog_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_prog_en_4_wd = reg_wdata[2];
- assign mp_region_cfg_4_erase_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_erase_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_erase_en_4_wd = reg_wdata[3];
- assign mp_region_cfg_4_scramble_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_scramble_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_scramble_en_4_wd = reg_wdata[4];
- assign mp_region_cfg_4_ecc_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_ecc_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_ecc_en_4_wd = reg_wdata[5];
- assign mp_region_cfg_4_he_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_he_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_he_en_4_wd = reg_wdata[6];
- assign mp_region_cfg_4_base_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_base_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_base_4_wd = reg_wdata[16:8];
- assign mp_region_cfg_4_size_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_size_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_size_4_wd = reg_wdata[26:17];
- assign mp_region_cfg_5_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_en_5_wd = reg_wdata[0];
- assign mp_region_cfg_5_rd_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_rd_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_rd_en_5_wd = reg_wdata[1];
- assign mp_region_cfg_5_prog_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_prog_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_prog_en_5_wd = reg_wdata[2];
- assign mp_region_cfg_5_erase_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_erase_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_erase_en_5_wd = reg_wdata[3];
- assign mp_region_cfg_5_scramble_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_scramble_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_scramble_en_5_wd = reg_wdata[4];
- assign mp_region_cfg_5_ecc_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_ecc_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_ecc_en_5_wd = reg_wdata[5];
- assign mp_region_cfg_5_he_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_he_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_he_en_5_wd = reg_wdata[6];
- assign mp_region_cfg_5_base_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_base_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_base_5_wd = reg_wdata[16:8];
- assign mp_region_cfg_5_size_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_size_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_size_5_wd = reg_wdata[26:17];
- assign mp_region_cfg_6_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_en_6_wd = reg_wdata[0];
- assign mp_region_cfg_6_rd_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_rd_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_rd_en_6_wd = reg_wdata[1];
- assign mp_region_cfg_6_prog_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_prog_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_prog_en_6_wd = reg_wdata[2];
- assign mp_region_cfg_6_erase_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_erase_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_erase_en_6_wd = reg_wdata[3];
- assign mp_region_cfg_6_scramble_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_scramble_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_scramble_en_6_wd = reg_wdata[4];
- assign mp_region_cfg_6_ecc_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_ecc_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_ecc_en_6_wd = reg_wdata[5];
- assign mp_region_cfg_6_he_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_he_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_he_en_6_wd = reg_wdata[6];
- assign mp_region_cfg_6_base_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_base_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_base_6_wd = reg_wdata[16:8];
- assign mp_region_cfg_6_size_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_size_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_size_6_wd = reg_wdata[26:17];
- assign mp_region_cfg_7_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_en_7_wd = reg_wdata[0];
- assign mp_region_cfg_7_rd_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_rd_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_rd_en_7_wd = reg_wdata[1];
- assign mp_region_cfg_7_prog_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_prog_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_prog_en_7_wd = reg_wdata[2];
- assign mp_region_cfg_7_erase_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_erase_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_erase_en_7_wd = reg_wdata[3];
- assign mp_region_cfg_7_scramble_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_scramble_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_scramble_en_7_wd = reg_wdata[4];
- assign mp_region_cfg_7_ecc_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_ecc_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_ecc_en_7_wd = reg_wdata[5];
- assign mp_region_cfg_7_he_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_he_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_he_en_7_wd = reg_wdata[6];
- assign mp_region_cfg_7_base_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_base_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_base_7_wd = reg_wdata[16:8];
- assign mp_region_cfg_7_size_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_size_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_size_7_wd = reg_wdata[26:17];
- assign default_region_rd_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_rd_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_rd_en_wd = reg_wdata[0];
- assign default_region_prog_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_prog_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_prog_en_wd = reg_wdata[1];
- assign default_region_erase_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_erase_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_erase_en_wd = reg_wdata[2];
- assign default_region_scramble_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_scramble_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_scramble_en_wd = reg_wdata[3];
- assign default_region_ecc_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_ecc_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_ecc_en_wd = reg_wdata[4];
- assign default_region_he_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_he_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_he_en_wd = reg_wdata[5];
- assign bank0_info0_regwen_0_we = addr_hit[25] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_0_we = addr_hit[26] & reg_we & ~wr_err;
assign bank0_info0_regwen_0_wd = reg_wdata[0];
- assign bank0_info0_regwen_1_we = addr_hit[26] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_1_we = addr_hit[27] & reg_we & ~wr_err;
assign bank0_info0_regwen_1_wd = reg_wdata[0];
- assign bank0_info0_regwen_2_we = addr_hit[27] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_2_we = addr_hit[28] & reg_we & ~wr_err;
assign bank0_info0_regwen_2_wd = reg_wdata[0];
- assign bank0_info0_regwen_3_we = addr_hit[28] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_3_we = addr_hit[29] & reg_we & ~wr_err;
assign bank0_info0_regwen_3_wd = reg_wdata[0];
- assign bank0_info0_regwen_4_we = addr_hit[29] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_4_we = addr_hit[30] & reg_we & ~wr_err;
assign bank0_info0_regwen_4_wd = reg_wdata[0];
- assign bank0_info0_regwen_5_we = addr_hit[30] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_5_we = addr_hit[31] & reg_we & ~wr_err;
assign bank0_info0_regwen_5_wd = reg_wdata[0];
- assign bank0_info0_regwen_6_we = addr_hit[31] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_6_we = addr_hit[32] & reg_we & ~wr_err;
assign bank0_info0_regwen_6_wd = reg_wdata[0];
- assign bank0_info0_regwen_7_we = addr_hit[32] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_7_we = addr_hit[33] & reg_we & ~wr_err;
assign bank0_info0_regwen_7_wd = reg_wdata[0];
- assign bank0_info0_regwen_8_we = addr_hit[33] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_8_we = addr_hit[34] & reg_we & ~wr_err;
assign bank0_info0_regwen_8_wd = reg_wdata[0];
- assign bank0_info0_regwen_9_we = addr_hit[34] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_9_we = addr_hit[35] & reg_we & ~wr_err;
assign bank0_info0_regwen_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_en_0_we = addr_hit[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_en_0_we = addr_hit[36] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_prog_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_erase_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_scramble_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_ecc_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_he_en_0_we = addr_hit[36] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_1_en_1_we = addr_hit[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_en_1_we = addr_hit[37] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_prog_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_erase_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_scramble_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_ecc_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_he_en_1_we = addr_hit[37] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_2_en_2_we = addr_hit[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_en_2_we = addr_hit[38] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_prog_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_erase_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_scramble_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_ecc_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_he_en_2_we = addr_hit[38] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_3_en_3_we = addr_hit[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_en_3_we = addr_hit[39] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_prog_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_erase_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_scramble_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_ecc_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_he_en_3_we = addr_hit[39] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_4_en_4_we = addr_hit[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_en_4_we = addr_hit[40] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_prog_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_erase_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_scramble_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_ecc_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_he_en_4_we = addr_hit[40] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_5_en_5_we = addr_hit[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_en_5_we = addr_hit[41] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_prog_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_erase_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_scramble_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_ecc_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_he_en_5_we = addr_hit[41] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_6_en_6_we = addr_hit[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_en_6_we = addr_hit[42] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_prog_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_erase_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_scramble_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_ecc_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_he_en_6_we = addr_hit[42] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_7_en_7_we = addr_hit[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_en_7_we = addr_hit[43] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_prog_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_erase_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_scramble_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_ecc_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_he_en_7_we = addr_hit[43] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_8_en_8_we = addr_hit[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_en_8_we = addr_hit[44] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_prog_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_erase_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_scramble_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_ecc_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_he_en_8_we = addr_hit[44] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_9_en_9_we = addr_hit[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_en_9_we = addr_hit[45] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_prog_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_erase_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_scramble_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_ecc_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_he_en_9_we = addr_hit[45] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank0_info1_regwen_we = addr_hit[45] & reg_we & ~wr_err;
+ assign bank0_info1_regwen_we = addr_hit[46] & reg_we & ~wr_err;
assign bank0_info1_regwen_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank0_info1_page_cfg_he_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_he_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_regwen_0_we = addr_hit[47] & reg_we & ~wr_err;
+ assign bank0_info2_regwen_0_we = addr_hit[48] & reg_we & ~wr_err;
assign bank0_info2_regwen_0_wd = reg_wdata[0];
- assign bank0_info2_regwen_1_we = addr_hit[48] & reg_we & ~wr_err;
+ assign bank0_info2_regwen_1_we = addr_hit[49] & reg_we & ~wr_err;
assign bank0_info2_regwen_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_en_0_we = addr_hit[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_en_0_we = addr_hit[50] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_prog_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_erase_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_scramble_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_ecc_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_he_en_0_we = addr_hit[50] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_page_cfg_1_en_1_we = addr_hit[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_en_1_we = addr_hit[51] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_prog_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_erase_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_scramble_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_ecc_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_he_en_1_we = addr_hit[51] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_regwen_0_we = addr_hit[51] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_0_we = addr_hit[52] & reg_we & ~wr_err;
assign bank1_info0_regwen_0_wd = reg_wdata[0];
- assign bank1_info0_regwen_1_we = addr_hit[52] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_1_we = addr_hit[53] & reg_we & ~wr_err;
assign bank1_info0_regwen_1_wd = reg_wdata[0];
- assign bank1_info0_regwen_2_we = addr_hit[53] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_2_we = addr_hit[54] & reg_we & ~wr_err;
assign bank1_info0_regwen_2_wd = reg_wdata[0];
- assign bank1_info0_regwen_3_we = addr_hit[54] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_3_we = addr_hit[55] & reg_we & ~wr_err;
assign bank1_info0_regwen_3_wd = reg_wdata[0];
- assign bank1_info0_regwen_4_we = addr_hit[55] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_4_we = addr_hit[56] & reg_we & ~wr_err;
assign bank1_info0_regwen_4_wd = reg_wdata[0];
- assign bank1_info0_regwen_5_we = addr_hit[56] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_5_we = addr_hit[57] & reg_we & ~wr_err;
assign bank1_info0_regwen_5_wd = reg_wdata[0];
- assign bank1_info0_regwen_6_we = addr_hit[57] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_6_we = addr_hit[58] & reg_we & ~wr_err;
assign bank1_info0_regwen_6_wd = reg_wdata[0];
- assign bank1_info0_regwen_7_we = addr_hit[58] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_7_we = addr_hit[59] & reg_we & ~wr_err;
assign bank1_info0_regwen_7_wd = reg_wdata[0];
- assign bank1_info0_regwen_8_we = addr_hit[59] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_8_we = addr_hit[60] & reg_we & ~wr_err;
assign bank1_info0_regwen_8_wd = reg_wdata[0];
- assign bank1_info0_regwen_9_we = addr_hit[60] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_9_we = addr_hit[61] & reg_we & ~wr_err;
assign bank1_info0_regwen_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_en_0_we = addr_hit[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_en_0_we = addr_hit[62] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_prog_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_erase_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_scramble_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_ecc_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_he_en_0_we = addr_hit[62] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_1_en_1_we = addr_hit[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_en_1_we = addr_hit[63] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_prog_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_erase_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_scramble_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_ecc_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_he_en_1_we = addr_hit[63] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_2_en_2_we = addr_hit[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_en_2_we = addr_hit[64] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_prog_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_erase_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_scramble_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_ecc_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_he_en_2_we = addr_hit[64] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_3_en_3_we = addr_hit[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_en_3_we = addr_hit[65] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_prog_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_erase_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_scramble_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_ecc_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_he_en_3_we = addr_hit[65] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_4_en_4_we = addr_hit[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_en_4_we = addr_hit[66] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_prog_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_erase_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_scramble_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_ecc_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_he_en_4_we = addr_hit[66] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_5_en_5_we = addr_hit[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_en_5_we = addr_hit[67] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_prog_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_erase_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_scramble_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_ecc_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_he_en_5_we = addr_hit[67] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_6_en_6_we = addr_hit[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_en_6_we = addr_hit[68] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_prog_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_erase_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_scramble_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_ecc_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_he_en_6_we = addr_hit[68] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_7_en_7_we = addr_hit[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_en_7_we = addr_hit[69] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_prog_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_erase_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_scramble_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_ecc_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_he_en_7_we = addr_hit[69] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_8_en_8_we = addr_hit[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_en_8_we = addr_hit[70] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_prog_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_erase_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_scramble_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_ecc_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_he_en_8_we = addr_hit[70] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_9_en_9_we = addr_hit[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_en_9_we = addr_hit[71] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_prog_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_erase_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_scramble_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_ecc_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_he_en_9_we = addr_hit[71] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank1_info1_regwen_we = addr_hit[71] & reg_we & ~wr_err;
+ assign bank1_info1_regwen_we = addr_hit[72] & reg_we & ~wr_err;
assign bank1_info1_regwen_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank1_info1_page_cfg_he_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_he_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_regwen_0_we = addr_hit[73] & reg_we & ~wr_err;
+ assign bank1_info2_regwen_0_we = addr_hit[74] & reg_we & ~wr_err;
assign bank1_info2_regwen_0_wd = reg_wdata[0];
- assign bank1_info2_regwen_1_we = addr_hit[74] & reg_we & ~wr_err;
+ assign bank1_info2_regwen_1_we = addr_hit[75] & reg_we & ~wr_err;
assign bank1_info2_regwen_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_en_0_we = addr_hit[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_en_0_we = addr_hit[76] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_prog_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_erase_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_scramble_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_ecc_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_he_en_0_we = addr_hit[76] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_page_cfg_1_en_1_we = addr_hit[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_en_1_we = addr_hit[77] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_prog_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_erase_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_scramble_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_ecc_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_he_en_1_we = addr_hit[77] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank_cfg_regwen_we = addr_hit[77] & reg_we & ~wr_err;
+ assign bank_cfg_regwen_we = addr_hit[78] & reg_we & ~wr_err;
assign bank_cfg_regwen_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_0_we = addr_hit[78] & reg_we & ~wr_err;
+ assign mp_bank_cfg_erase_en_0_we = addr_hit[79] & reg_we & ~wr_err;
assign mp_bank_cfg_erase_en_0_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_1_we = addr_hit[78] & reg_we & ~wr_err;
+ assign mp_bank_cfg_erase_en_1_we = addr_hit[79] & reg_we & ~wr_err;
assign mp_bank_cfg_erase_en_1_wd = reg_wdata[1];
- assign op_status_done_we = addr_hit[79] & reg_we & ~wr_err;
+ assign op_status_done_we = addr_hit[80] & reg_we & ~wr_err;
assign op_status_done_wd = reg_wdata[0];
- assign op_status_err_we = addr_hit[79] & reg_we & ~wr_err;
+ assign op_status_err_we = addr_hit[80] & reg_we & ~wr_err;
assign op_status_err_wd = reg_wdata[1];
@@ -11305,20 +11559,43 @@
+ assign err_code_flash_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_flash_err_wd = reg_wdata[0];
+
+ assign err_code_flash_alert_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_flash_alert_wd = reg_wdata[1];
+
+ assign err_code_mp_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_mp_err_wd = reg_wdata[2];
+
+ assign err_code_ecc_single_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_ecc_single_err_wd = reg_wdata[3];
+
+ assign err_code_ecc_multi_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_ecc_multi_err_wd = reg_wdata[4];
- assign scratch_we = addr_hit[82] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_ack_we = addr_hit[86] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_ack_wd = reg_wdata[0];
+
+ assign phy_alert_cfg_alert_trig_we = addr_hit[86] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_trig_wd = reg_wdata[1];
+
+
+
+
+ assign scratch_we = addr_hit[88] & reg_we & ~wr_err;
assign scratch_wd = reg_wdata[31:0];
- assign fifo_lvl_prog_we = addr_hit[83] & reg_we & ~wr_err;
+ assign fifo_lvl_prog_we = addr_hit[89] & reg_we & ~wr_err;
assign fifo_lvl_prog_wd = reg_wdata[4:0];
- assign fifo_lvl_rd_we = addr_hit[83] & reg_we & ~wr_err;
+ assign fifo_lvl_rd_we = addr_hit[89] & reg_we & ~wr_err;
assign fifo_lvl_rd_wd = reg_wdata[12:8];
- assign fifo_rst_we = addr_hit[84] & reg_we & ~wr_err;
+ assign fifo_rst_we = addr_hit[90] & reg_we & ~wr_err;
assign fifo_rst_wd = reg_wdata[0];
// Read data return
@@ -11331,7 +11608,6 @@
reg_rdata_next[2] = intr_state_rd_full_qs;
reg_rdata_next[3] = intr_state_rd_lvl_qs;
reg_rdata_next[4] = intr_state_op_done_qs;
- reg_rdata_next[5] = intr_state_op_error_qs;
end
addr_hit[1]: begin
@@ -11340,7 +11616,6 @@
reg_rdata_next[2] = intr_enable_rd_full_qs;
reg_rdata_next[3] = intr_enable_rd_lvl_qs;
reg_rdata_next[4] = intr_enable_op_done_qs;
- reg_rdata_next[5] = intr_enable_op_error_qs;
end
addr_hit[2]: begin
@@ -11349,14 +11624,19 @@
reg_rdata_next[2] = '0;
reg_rdata_next[3] = '0;
reg_rdata_next[4] = '0;
- reg_rdata_next[5] = '0;
end
addr_hit[3]: begin
- reg_rdata_next[0] = ctrl_regwen_qs;
+ reg_rdata_next[0] = '0;
+ reg_rdata_next[1] = '0;
+ reg_rdata_next[2] = '0;
end
addr_hit[4]: begin
+ reg_rdata_next[0] = ctrl_regwen_qs;
+ end
+
+ addr_hit[5]: begin
reg_rdata_next[0] = control_start_qs;
reg_rdata_next[5:4] = control_op_qs;
reg_rdata_next[6] = control_prog_sel_qs;
@@ -11366,52 +11646,52 @@
reg_rdata_next[27:16] = control_num_qs;
end
- addr_hit[5]: begin
+ addr_hit[6]: begin
reg_rdata_next[31:0] = addr_qs;
end
- addr_hit[6]: begin
+ addr_hit[7]: begin
reg_rdata_next[0] = prog_type_en_normal_qs;
reg_rdata_next[1] = prog_type_en_repair_qs;
end
- addr_hit[7]: begin
+ addr_hit[8]: begin
reg_rdata_next[0] = erase_suspend_qs;
end
- addr_hit[8]: begin
+ addr_hit[9]: begin
reg_rdata_next[0] = region_cfg_regwen_0_qs;
end
- addr_hit[9]: begin
+ addr_hit[10]: begin
reg_rdata_next[0] = region_cfg_regwen_1_qs;
end
- addr_hit[10]: begin
+ addr_hit[11]: begin
reg_rdata_next[0] = region_cfg_regwen_2_qs;
end
- addr_hit[11]: begin
+ addr_hit[12]: begin
reg_rdata_next[0] = region_cfg_regwen_3_qs;
end
- addr_hit[12]: begin
+ addr_hit[13]: begin
reg_rdata_next[0] = region_cfg_regwen_4_qs;
end
- addr_hit[13]: begin
+ addr_hit[14]: begin
reg_rdata_next[0] = region_cfg_regwen_5_qs;
end
- addr_hit[14]: begin
+ addr_hit[15]: begin
reg_rdata_next[0] = region_cfg_regwen_6_qs;
end
- addr_hit[15]: begin
+ addr_hit[16]: begin
reg_rdata_next[0] = region_cfg_regwen_7_qs;
end
- addr_hit[16]: begin
+ addr_hit[17]: 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;
@@ -11423,7 +11703,7 @@
reg_rdata_next[26:17] = mp_region_cfg_0_size_0_qs;
end
- addr_hit[17]: begin
+ addr_hit[18]: 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;
@@ -11435,7 +11715,7 @@
reg_rdata_next[26:17] = mp_region_cfg_1_size_1_qs;
end
- addr_hit[18]: begin
+ addr_hit[19]: 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;
@@ -11447,7 +11727,7 @@
reg_rdata_next[26:17] = mp_region_cfg_2_size_2_qs;
end
- addr_hit[19]: begin
+ addr_hit[20]: 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;
@@ -11459,7 +11739,7 @@
reg_rdata_next[26:17] = mp_region_cfg_3_size_3_qs;
end
- addr_hit[20]: begin
+ addr_hit[21]: 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;
@@ -11471,7 +11751,7 @@
reg_rdata_next[26:17] = mp_region_cfg_4_size_4_qs;
end
- addr_hit[21]: begin
+ addr_hit[22]: 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;
@@ -11483,7 +11763,7 @@
reg_rdata_next[26:17] = mp_region_cfg_5_size_5_qs;
end
- addr_hit[22]: begin
+ addr_hit[23]: 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;
@@ -11495,7 +11775,7 @@
reg_rdata_next[26:17] = mp_region_cfg_6_size_6_qs;
end
- addr_hit[23]: begin
+ addr_hit[24]: 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;
@@ -11507,7 +11787,7 @@
reg_rdata_next[26:17] = mp_region_cfg_7_size_7_qs;
end
- addr_hit[24]: begin
+ addr_hit[25]: 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;
@@ -11516,47 +11796,47 @@
reg_rdata_next[5] = default_region_he_en_qs;
end
- addr_hit[25]: begin
+ addr_hit[26]: begin
reg_rdata_next[0] = bank0_info0_regwen_0_qs;
end
- addr_hit[26]: begin
+ addr_hit[27]: begin
reg_rdata_next[0] = bank0_info0_regwen_1_qs;
end
- addr_hit[27]: begin
+ addr_hit[28]: begin
reg_rdata_next[0] = bank0_info0_regwen_2_qs;
end
- addr_hit[28]: begin
+ addr_hit[29]: begin
reg_rdata_next[0] = bank0_info0_regwen_3_qs;
end
- addr_hit[29]: begin
+ addr_hit[30]: begin
reg_rdata_next[0] = bank0_info0_regwen_4_qs;
end
- addr_hit[30]: begin
+ addr_hit[31]: begin
reg_rdata_next[0] = bank0_info0_regwen_5_qs;
end
- addr_hit[31]: begin
+ addr_hit[32]: begin
reg_rdata_next[0] = bank0_info0_regwen_6_qs;
end
- addr_hit[32]: begin
+ addr_hit[33]: begin
reg_rdata_next[0] = bank0_info0_regwen_7_qs;
end
- addr_hit[33]: begin
+ addr_hit[34]: begin
reg_rdata_next[0] = bank0_info0_regwen_8_qs;
end
- addr_hit[34]: begin
+ addr_hit[35]: begin
reg_rdata_next[0] = bank0_info0_regwen_9_qs;
end
- addr_hit[35]: begin
+ addr_hit[36]: 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;
@@ -11566,7 +11846,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[36]: begin
+ addr_hit[37]: 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;
@@ -11576,7 +11856,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[37]: begin
+ addr_hit[38]: 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;
@@ -11586,7 +11866,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[38]: begin
+ addr_hit[39]: 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;
@@ -11596,7 +11876,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[39]: begin
+ addr_hit[40]: 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;
@@ -11606,7 +11886,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[40]: begin
+ addr_hit[41]: 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;
@@ -11616,7 +11896,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[41]: begin
+ addr_hit[42]: 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;
@@ -11626,7 +11906,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[42]: begin
+ addr_hit[43]: 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;
@@ -11636,7 +11916,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[43]: begin
+ addr_hit[44]: 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;
@@ -11646,7 +11926,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[44]: begin
+ addr_hit[45]: 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;
@@ -11656,11 +11936,11 @@
reg_rdata_next[6] = bank0_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[45]: begin
+ addr_hit[46]: begin
reg_rdata_next[0] = bank0_info1_regwen_qs;
end
- addr_hit[46]: begin
+ addr_hit[47]: 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;
@@ -11670,15 +11950,15 @@
reg_rdata_next[6] = bank0_info1_page_cfg_he_en_0_qs;
end
- addr_hit[47]: begin
+ addr_hit[48]: begin
reg_rdata_next[0] = bank0_info2_regwen_0_qs;
end
- addr_hit[48]: begin
+ addr_hit[49]: begin
reg_rdata_next[0] = bank0_info2_regwen_1_qs;
end
- addr_hit[49]: begin
+ addr_hit[50]: 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;
@@ -11688,7 +11968,7 @@
reg_rdata_next[6] = bank0_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[50]: begin
+ addr_hit[51]: 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;
@@ -11698,47 +11978,47 @@
reg_rdata_next[6] = bank0_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[51]: begin
+ addr_hit[52]: begin
reg_rdata_next[0] = bank1_info0_regwen_0_qs;
end
- addr_hit[52]: begin
+ addr_hit[53]: begin
reg_rdata_next[0] = bank1_info0_regwen_1_qs;
end
- addr_hit[53]: begin
+ addr_hit[54]: begin
reg_rdata_next[0] = bank1_info0_regwen_2_qs;
end
- addr_hit[54]: begin
+ addr_hit[55]: begin
reg_rdata_next[0] = bank1_info0_regwen_3_qs;
end
- addr_hit[55]: begin
+ addr_hit[56]: begin
reg_rdata_next[0] = bank1_info0_regwen_4_qs;
end
- addr_hit[56]: begin
+ addr_hit[57]: begin
reg_rdata_next[0] = bank1_info0_regwen_5_qs;
end
- addr_hit[57]: begin
+ addr_hit[58]: begin
reg_rdata_next[0] = bank1_info0_regwen_6_qs;
end
- addr_hit[58]: begin
+ addr_hit[59]: begin
reg_rdata_next[0] = bank1_info0_regwen_7_qs;
end
- addr_hit[59]: begin
+ addr_hit[60]: begin
reg_rdata_next[0] = bank1_info0_regwen_8_qs;
end
- addr_hit[60]: begin
+ addr_hit[61]: begin
reg_rdata_next[0] = bank1_info0_regwen_9_qs;
end
- addr_hit[61]: begin
+ addr_hit[62]: 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;
@@ -11748,7 +12028,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[62]: begin
+ addr_hit[63]: 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;
@@ -11758,7 +12038,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[63]: begin
+ addr_hit[64]: 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;
@@ -11768,7 +12048,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[64]: begin
+ addr_hit[65]: 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;
@@ -11778,7 +12058,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[65]: begin
+ addr_hit[66]: 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;
@@ -11788,7 +12068,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[66]: begin
+ addr_hit[67]: 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;
@@ -11798,7 +12078,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[67]: begin
+ addr_hit[68]: 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;
@@ -11808,7 +12088,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[68]: begin
+ addr_hit[69]: 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;
@@ -11818,7 +12098,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[69]: begin
+ addr_hit[70]: 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;
@@ -11828,7 +12108,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[70]: begin
+ addr_hit[71]: 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;
@@ -11838,11 +12118,11 @@
reg_rdata_next[6] = bank1_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[71]: begin
+ addr_hit[72]: begin
reg_rdata_next[0] = bank1_info1_regwen_qs;
end
- addr_hit[72]: begin
+ addr_hit[73]: 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;
@@ -11852,15 +12132,15 @@
reg_rdata_next[6] = bank1_info1_page_cfg_he_en_0_qs;
end
- addr_hit[73]: begin
+ addr_hit[74]: begin
reg_rdata_next[0] = bank1_info2_regwen_0_qs;
end
- addr_hit[74]: begin
+ addr_hit[75]: begin
reg_rdata_next[0] = bank1_info2_regwen_1_qs;
end
- addr_hit[75]: begin
+ addr_hit[76]: 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;
@@ -11870,7 +12150,7 @@
reg_rdata_next[6] = bank1_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[76]: begin
+ addr_hit[77]: 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;
@@ -11880,45 +12160,69 @@
reg_rdata_next[6] = bank1_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[77]: begin
+ addr_hit[78]: begin
reg_rdata_next[0] = bank_cfg_regwen_qs;
end
- addr_hit[78]: begin
+ addr_hit[79]: 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[79]: begin
+ addr_hit[80]: begin
reg_rdata_next[0] = op_status_done_qs;
reg_rdata_next[1] = op_status_err_qs;
end
- addr_hit[80]: begin
+ addr_hit[81]: 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;
reg_rdata_next[3] = status_prog_empty_qs;
reg_rdata_next[4] = status_init_wip_qs;
- reg_rdata_next[16:8] = status_error_addr_qs;
end
- addr_hit[81]: begin
+ addr_hit[82]: 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;
+ reg_rdata_next[3] = err_code_ecc_single_err_qs;
+ reg_rdata_next[4] = err_code_ecc_multi_err_qs;
+ end
+
+ addr_hit[83]: begin
+ reg_rdata_next[8:0] = err_addr_qs;
+ end
+
+ addr_hit[84]: begin
+ reg_rdata_next[19:0] = ecc_err_addr_0_qs;
+ end
+
+ addr_hit[85]: begin
+ reg_rdata_next[19:0] = ecc_err_addr_1_qs;
+ end
+
+ addr_hit[86]: begin
+ reg_rdata_next[0] = phy_alert_cfg_alert_ack_qs;
+ reg_rdata_next[1] = phy_alert_cfg_alert_trig_qs;
+ end
+
+ addr_hit[87]: 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[82]: begin
+ addr_hit[88]: begin
reg_rdata_next[31:0] = scratch_qs;
end
- addr_hit[83]: begin
+ addr_hit[89]: begin
reg_rdata_next[4:0] = fifo_lvl_prog_qs;
reg_rdata_next[12:8] = fifo_lvl_rd_qs;
end
- addr_hit[84]: begin
+ addr_hit[90]: begin
reg_rdata_next[0] = fifo_rst_qs;
end
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index d10af0e..c068cef 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -3868,20 +3868,49 @@
]
type: interrupt
}
+ ]
+ alert_list:
+ [
{
- name: op_error
+ name: recov_err
width: 1
- bits: "5"
+ bits: "0"
bitinfo:
[
- 32
1
- 5
+ 1
+ 0
]
- type: interrupt
+ type: alert
+ async: 1
+ }
+ {
+ name: recov_mp_err
+ width: 1
+ bits: "1"
+ bitinfo:
+ [
+ 2
+ 1
+ 1
+ ]
+ type: alert
+ async: 1
+ }
+ {
+ name: recov_ecc_err
+ width: 1
+ bits: "2"
+ bitinfo:
+ [
+ 4
+ 1
+ 2
+ ]
+ type: alert
+ async: 1
}
]
- alert_list: []
wakeup_list: []
reset_request_list: []
scan: "false"
@@ -5886,8 +5915,8 @@
index: -1
}
{
- struct: logic
- package: ""
+ struct: lc_tx
+ package: lc_ctrl_pkg
type: uni
act: rcv
name: flash_bist_enable
@@ -8308,19 +8337,6 @@
module_name: flash_ctrl
}
{
- name: flash_ctrl_op_error
- width: 1
- bits: "5"
- bitinfo:
- [
- 32
- 1
- 5
- ]
- type: interrupt
- module_name: flash_ctrl
- }
- {
name: hmac_hmac_done
width: 1
bits: "0"
@@ -8930,6 +8946,7 @@
entropy_src
sram_ctrl_main
sram_ctrl_ret
+ flash_ctrl
]
alert:
[
@@ -9213,6 +9230,48 @@
async: 0
module_name: sram_ctrl_ret
}
+ {
+ name: flash_ctrl_recov_err
+ width: 1
+ bits: "0"
+ bitinfo:
+ [
+ 1
+ 1
+ 0
+ ]
+ type: alert
+ async: 1
+ module_name: flash_ctrl
+ }
+ {
+ name: flash_ctrl_recov_mp_err
+ width: 1
+ bits: "1"
+ bitinfo:
+ [
+ 2
+ 1
+ 1
+ ]
+ type: alert
+ async: 1
+ module_name: flash_ctrl
+ }
+ {
+ name: flash_ctrl_recov_ecc_err
+ width: 1
+ bits: "2"
+ bitinfo:
+ [
+ 4
+ 1
+ 2
+ ]
+ type: alert
+ async: 1
+ module_name: flash_ctrl
+ }
]
pinmux:
{
@@ -11709,8 +11768,8 @@
index: -1
}
{
- struct: logic
- package: ""
+ struct: lc_tx
+ package: lc_ctrl_pkg
type: uni
act: rcv
name: flash_bist_enable
@@ -12463,8 +12522,8 @@
direction: in
}
{
- package: ""
- struct: logic
+ package: lc_ctrl_pkg
+ struct: lc_tx
signame: flash_bist_enable_i
width: 1
type: uni
diff --git a/hw/top_earlgrey/dv/autogen/tb__alert_handler_connect.sv b/hw/top_earlgrey/dv/autogen/tb__alert_handler_connect.sv
index 1bad6a9..a7d3284 100644
--- a/hw/top_earlgrey/dv/autogen/tb__alert_handler_connect.sv
+++ b/hw/top_earlgrey/dv/autogen/tb__alert_handler_connect.sv
@@ -24,3 +24,6 @@
assign alert_if[17].alert_tx = `CHIP_HIER.u_entropy_src.alert_tx_o[0];
assign alert_if[18].alert_tx = `CHIP_HIER.u_sram_ctrl_main.alert_tx_o[0];
assign alert_if[19].alert_tx = `CHIP_HIER.u_sram_ctrl_ret.alert_tx_o[0];
+assign alert_if[20].alert_tx = `CHIP_HIER.u_flash_ctrl.alert_tx_o[0];
+assign alert_if[21].alert_tx = `CHIP_HIER.u_flash_ctrl.alert_tx_o[1];
+assign alert_if[22].alert_tx = `CHIP_HIER.u_flash_ctrl.alert_tx_o[2];
diff --git a/hw/top_earlgrey/dv/env/autogen/alert_handler_env_pkg__params.sv b/hw/top_earlgrey/dv/env/autogen/alert_handler_env_pkg__params.sv
index 9cef3c5..eda1cd2 100644
--- a/hw/top_earlgrey/dv/env/autogen/alert_handler_env_pkg__params.sv
+++ b/hw/top_earlgrey/dv/env/autogen/alert_handler_env_pkg__params.sv
@@ -24,7 +24,10 @@
"lc_ctrl_fatal_state_error",
"entropy_src_recov_alert_count_met",
"sram_ctrl_main_fatal_parity_error",
- "sram_ctrl_ret_fatal_parity_error"
+ "sram_ctrl_ret_fatal_parity_error",
+ "flash_ctrl_recov_err",
+ "flash_ctrl_recov_mp_err",
+ "flash_ctrl_recov_ecc_err"
};
-parameter uint NUM_ALERTS = 20;
+parameter uint NUM_ALERTS = 23;
diff --git a/hw/top_earlgrey/ip/alert_handler/data/autogen/alert_handler.hjson b/hw/top_earlgrey/ip/alert_handler/data/autogen/alert_handler.hjson
index 0c189ac..4c7e846 100644
--- a/hw/top_earlgrey/ip/alert_handler/data/autogen/alert_handler.hjson
+++ b/hw/top_earlgrey/ip/alert_handler/data/autogen/alert_handler.hjson
@@ -43,7 +43,7 @@
{ name: "NAlerts",
desc: "Number of peripheral inputs",
type: "int",
- default: "20",
+ default: "23",
local: "true"
},
{ name: "EscCntDw",
@@ -61,7 +61,7 @@
{ name: "AsyncOn",
desc: "Number of peripheral outputs",
type: "logic [NAlerts-1:0]",
- default: "20'b01100001100000001111",
+ default: "23'b11101100001100000001111",
local: "true"
},
{ name: "N_CLASSES",
diff --git a/hw/top_earlgrey/ip/alert_handler/dv/alert_handler_env_pkg__params.sv b/hw/top_earlgrey/ip/alert_handler/dv/alert_handler_env_pkg__params.sv
index b34952b..650489b 100644
--- a/hw/top_earlgrey/ip/alert_handler/dv/alert_handler_env_pkg__params.sv
+++ b/hw/top_earlgrey/ip/alert_handler/dv/alert_handler_env_pkg__params.sv
@@ -10,5 +10,5 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
-parameter uint NUM_ALERTS = 20;
-parameter bit [NUM_ALERTS-1:0] ASYNC_ON = 20'b01100001100000001111;
+parameter uint NUM_ALERTS = 23;
+parameter bit [NUM_ALERTS-1:0] ASYNC_ON = 23'b11101100001100000001111;
diff --git a/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_pkg.sv b/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_pkg.sv
index 3f22ada..cb55170 100644
--- a/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_pkg.sv
@@ -7,10 +7,10 @@
package alert_handler_reg_pkg;
// Param list
- parameter int NAlerts = 20;
+ parameter int NAlerts = 23;
parameter int EscCntDw = 32;
parameter int AccuCntDw = 16;
- parameter logic [NAlerts-1:0] AsyncOn = 20'b01100001100000001111;
+ parameter logic [NAlerts-1:0] AsyncOn = 23'b11101100001100000001111;
parameter int N_CLASSES = 4;
parameter int N_ESC_SEV = 4;
parameter int N_PHASES = 4;
@@ -457,14 +457,14 @@
// Register to internal design logic //
///////////////////////////////////////
typedef struct packed {
- alert_handler_reg2hw_intr_state_reg_t intr_state; // [904:901]
- alert_handler_reg2hw_intr_enable_reg_t intr_enable; // [900:897]
- alert_handler_reg2hw_intr_test_reg_t intr_test; // [896:889]
- alert_handler_reg2hw_regen_reg_t regen; // [888:888]
- alert_handler_reg2hw_ping_timeout_cyc_reg_t ping_timeout_cyc; // [887:864]
- alert_handler_reg2hw_alert_en_mreg_t [19:0] alert_en; // [863:844]
- alert_handler_reg2hw_alert_class_mreg_t [19:0] alert_class; // [843:804]
- alert_handler_reg2hw_alert_cause_mreg_t [19:0] alert_cause; // [803:784]
+ alert_handler_reg2hw_intr_state_reg_t intr_state; // [916:913]
+ alert_handler_reg2hw_intr_enable_reg_t intr_enable; // [912:909]
+ alert_handler_reg2hw_intr_test_reg_t intr_test; // [908:901]
+ alert_handler_reg2hw_regen_reg_t regen; // [900:900]
+ alert_handler_reg2hw_ping_timeout_cyc_reg_t ping_timeout_cyc; // [899:876]
+ alert_handler_reg2hw_alert_en_mreg_t [22:0] alert_en; // [875:853]
+ alert_handler_reg2hw_alert_class_mreg_t [22:0] alert_class; // [852:807]
+ alert_handler_reg2hw_alert_cause_mreg_t [22:0] alert_cause; // [806:784]
alert_handler_reg2hw_loc_alert_en_mreg_t [3:0] loc_alert_en; // [783:780]
alert_handler_reg2hw_loc_alert_class_mreg_t [3:0] loc_alert_class; // [779:772]
alert_handler_reg2hw_loc_alert_cause_mreg_t [3:0] loc_alert_cause; // [771:768]
@@ -506,8 +506,8 @@
// Internal design logic to register //
///////////////////////////////////////
typedef struct packed {
- alert_handler_hw2reg_intr_state_reg_t intr_state; // [267:260]
- alert_handler_hw2reg_alert_cause_mreg_t [19:0] alert_cause; // [259:220]
+ alert_handler_hw2reg_intr_state_reg_t intr_state; // [273:266]
+ alert_handler_hw2reg_alert_cause_mreg_t [22:0] alert_cause; // [265:220]
alert_handler_hw2reg_loc_alert_cause_mreg_t [3:0] loc_alert_cause; // [219:212]
alert_handler_hw2reg_classa_clren_reg_t classa_clren; // [211:210]
alert_handler_hw2reg_classa_accum_cnt_reg_t classa_accum_cnt; // [209:194]
@@ -663,7 +663,7 @@
4'b 0111, // index[ 4] ALERT_HANDLER_PING_TIMEOUT_CYC
4'b 0111, // index[ 5] ALERT_HANDLER_ALERT_EN
4'b 1111, // index[ 6] ALERT_HANDLER_ALERT_CLASS_0
- 4'b 0001, // index[ 7] ALERT_HANDLER_ALERT_CLASS_1
+ 4'b 0011, // index[ 7] ALERT_HANDLER_ALERT_CLASS_1
4'b 0111, // index[ 8] ALERT_HANDLER_ALERT_CAUSE
4'b 0001, // index[ 9] ALERT_HANDLER_LOC_ALERT_EN
4'b 0001, // index[10] ALERT_HANDLER_LOC_ALERT_CLASS
diff --git a/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_top.sv b/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_top.sv
index 0cbe7fc..7cd4fb2 100644
--- a/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_top.sv
+++ b/hw/top_earlgrey/ip/alert_handler/rtl/autogen/alert_handler_reg_top.sv
@@ -169,6 +169,15 @@
logic alert_en_en_a_19_qs;
logic alert_en_en_a_19_wd;
logic alert_en_en_a_19_we;
+ logic alert_en_en_a_20_qs;
+ logic alert_en_en_a_20_wd;
+ logic alert_en_en_a_20_we;
+ logic alert_en_en_a_21_qs;
+ logic alert_en_en_a_21_wd;
+ logic alert_en_en_a_21_we;
+ logic alert_en_en_a_22_qs;
+ logic alert_en_en_a_22_wd;
+ logic alert_en_en_a_22_we;
logic [1:0] alert_class_0_class_a_0_qs;
logic [1:0] alert_class_0_class_a_0_wd;
logic alert_class_0_class_a_0_we;
@@ -229,6 +238,15 @@
logic [1:0] alert_class_1_class_a_19_qs;
logic [1:0] alert_class_1_class_a_19_wd;
logic alert_class_1_class_a_19_we;
+ logic [1:0] alert_class_1_class_a_20_qs;
+ logic [1:0] alert_class_1_class_a_20_wd;
+ logic alert_class_1_class_a_20_we;
+ logic [1:0] alert_class_1_class_a_21_qs;
+ logic [1:0] alert_class_1_class_a_21_wd;
+ logic alert_class_1_class_a_21_we;
+ logic [1:0] alert_class_1_class_a_22_qs;
+ logic [1:0] alert_class_1_class_a_22_wd;
+ logic alert_class_1_class_a_22_we;
logic alert_cause_a_0_qs;
logic alert_cause_a_0_wd;
logic alert_cause_a_0_we;
@@ -289,6 +307,15 @@
logic alert_cause_a_19_qs;
logic alert_cause_a_19_wd;
logic alert_cause_a_19_we;
+ logic alert_cause_a_20_qs;
+ logic alert_cause_a_20_wd;
+ logic alert_cause_a_20_we;
+ logic alert_cause_a_21_qs;
+ logic alert_cause_a_21_wd;
+ logic alert_cause_a_21_we;
+ logic alert_cause_a_22_qs;
+ logic alert_cause_a_22_wd;
+ logic alert_cause_a_22_we;
logic loc_alert_en_en_la_0_qs;
logic loc_alert_en_en_la_0_wd;
logic loc_alert_en_en_la_0_we;
@@ -1415,6 +1442,84 @@
);
+ // F[en_a_20]: 20:20
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_alert_en_en_a_20 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_en_en_a_20_we & regen_qs),
+ .wd (alert_en_en_a_20_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_en[20].q ),
+
+ // to register interface (read)
+ .qs (alert_en_en_a_20_qs)
+ );
+
+
+ // F[en_a_21]: 21:21
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_alert_en_en_a_21 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_en_en_a_21_we & regen_qs),
+ .wd (alert_en_en_a_21_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_en[21].q ),
+
+ // to register interface (read)
+ .qs (alert_en_en_a_21_qs)
+ );
+
+
+ // F[en_a_22]: 22:22
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_alert_en_en_a_22 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_en_en_a_22_we & regen_qs),
+ .wd (alert_en_en_a_22_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_en[22].q ),
+
+ // to register interface (read)
+ .qs (alert_en_en_a_22_qs)
+ );
+
+
// Subregister 0 of Multireg alert_class
@@ -1943,6 +2048,84 @@
);
+ // F[class_a_20]: 9:8
+ prim_subreg #(
+ .DW (2),
+ .SWACCESS("RW"),
+ .RESVAL (2'h0)
+ ) u_alert_class_1_class_a_20 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_class_1_class_a_20_we & regen_qs),
+ .wd (alert_class_1_class_a_20_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_class[20].q ),
+
+ // to register interface (read)
+ .qs (alert_class_1_class_a_20_qs)
+ );
+
+
+ // F[class_a_21]: 11:10
+ prim_subreg #(
+ .DW (2),
+ .SWACCESS("RW"),
+ .RESVAL (2'h0)
+ ) u_alert_class_1_class_a_21 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_class_1_class_a_21_we & regen_qs),
+ .wd (alert_class_1_class_a_21_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_class[21].q ),
+
+ // to register interface (read)
+ .qs (alert_class_1_class_a_21_qs)
+ );
+
+
+ // F[class_a_22]: 13:12
+ prim_subreg #(
+ .DW (2),
+ .SWACCESS("RW"),
+ .RESVAL (2'h0)
+ ) u_alert_class_1_class_a_22 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface (qualified with register enable)
+ .we (alert_class_1_class_a_22_we & regen_qs),
+ .wd (alert_class_1_class_a_22_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_class[22].q ),
+
+ // to register interface (read)
+ .qs (alert_class_1_class_a_22_qs)
+ );
+
+
// Subregister 0 of Multireg alert_cause
@@ -2468,6 +2651,84 @@
);
+ // F[a_20]: 20:20
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("W1C"),
+ .RESVAL (1'h0)
+ ) u_alert_cause_a_20 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (alert_cause_a_20_we),
+ .wd (alert_cause_a_20_wd),
+
+ // from internal hardware
+ .de (hw2reg.alert_cause[20].de),
+ .d (hw2reg.alert_cause[20].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_cause[20].q ),
+
+ // to register interface (read)
+ .qs (alert_cause_a_20_qs)
+ );
+
+
+ // F[a_21]: 21:21
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("W1C"),
+ .RESVAL (1'h0)
+ ) u_alert_cause_a_21 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (alert_cause_a_21_we),
+ .wd (alert_cause_a_21_wd),
+
+ // from internal hardware
+ .de (hw2reg.alert_cause[21].de),
+ .d (hw2reg.alert_cause[21].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_cause[21].q ),
+
+ // to register interface (read)
+ .qs (alert_cause_a_21_qs)
+ );
+
+
+ // F[a_22]: 22:22
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("W1C"),
+ .RESVAL (1'h0)
+ ) u_alert_cause_a_22 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (alert_cause_a_22_we),
+ .wd (alert_cause_a_22_wd),
+
+ // from internal hardware
+ .de (hw2reg.alert_cause[22].de),
+ .d (hw2reg.alert_cause[22].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.alert_cause[22].q ),
+
+ // to register interface (read)
+ .qs (alert_cause_a_22_qs)
+ );
+
+
// Subregister 0 of Multireg loc_alert_en
@@ -5132,6 +5393,15 @@
assign alert_en_en_a_19_we = addr_hit[5] & reg_we & ~wr_err;
assign alert_en_en_a_19_wd = reg_wdata[19];
+ assign alert_en_en_a_20_we = addr_hit[5] & reg_we & ~wr_err;
+ assign alert_en_en_a_20_wd = reg_wdata[20];
+
+ assign alert_en_en_a_21_we = addr_hit[5] & reg_we & ~wr_err;
+ assign alert_en_en_a_21_wd = reg_wdata[21];
+
+ assign alert_en_en_a_22_we = addr_hit[5] & reg_we & ~wr_err;
+ assign alert_en_en_a_22_wd = reg_wdata[22];
+
assign alert_class_0_class_a_0_we = addr_hit[6] & reg_we & ~wr_err;
assign alert_class_0_class_a_0_wd = reg_wdata[1:0];
@@ -5192,6 +5462,15 @@
assign alert_class_1_class_a_19_we = addr_hit[7] & reg_we & ~wr_err;
assign alert_class_1_class_a_19_wd = reg_wdata[7:6];
+ assign alert_class_1_class_a_20_we = addr_hit[7] & reg_we & ~wr_err;
+ assign alert_class_1_class_a_20_wd = reg_wdata[9:8];
+
+ assign alert_class_1_class_a_21_we = addr_hit[7] & reg_we & ~wr_err;
+ assign alert_class_1_class_a_21_wd = reg_wdata[11:10];
+
+ assign alert_class_1_class_a_22_we = addr_hit[7] & reg_we & ~wr_err;
+ assign alert_class_1_class_a_22_wd = reg_wdata[13:12];
+
assign alert_cause_a_0_we = addr_hit[8] & reg_we & ~wr_err;
assign alert_cause_a_0_wd = reg_wdata[0];
@@ -5252,6 +5531,15 @@
assign alert_cause_a_19_we = addr_hit[8] & reg_we & ~wr_err;
assign alert_cause_a_19_wd = reg_wdata[19];
+ assign alert_cause_a_20_we = addr_hit[8] & reg_we & ~wr_err;
+ assign alert_cause_a_20_wd = reg_wdata[20];
+
+ assign alert_cause_a_21_we = addr_hit[8] & reg_we & ~wr_err;
+ assign alert_cause_a_21_wd = reg_wdata[21];
+
+ assign alert_cause_a_22_we = addr_hit[8] & reg_we & ~wr_err;
+ assign alert_cause_a_22_wd = reg_wdata[22];
+
assign loc_alert_en_en_la_0_we = addr_hit[9] & reg_we & ~wr_err;
assign loc_alert_en_en_la_0_wd = reg_wdata[0];
@@ -5582,6 +5870,9 @@
reg_rdata_next[17] = alert_en_en_a_17_qs;
reg_rdata_next[18] = alert_en_en_a_18_qs;
reg_rdata_next[19] = alert_en_en_a_19_qs;
+ reg_rdata_next[20] = alert_en_en_a_20_qs;
+ reg_rdata_next[21] = alert_en_en_a_21_qs;
+ reg_rdata_next[22] = alert_en_en_a_22_qs;
end
addr_hit[6]: begin
@@ -5608,6 +5899,9 @@
reg_rdata_next[3:2] = alert_class_1_class_a_17_qs;
reg_rdata_next[5:4] = alert_class_1_class_a_18_qs;
reg_rdata_next[7:6] = alert_class_1_class_a_19_qs;
+ reg_rdata_next[9:8] = alert_class_1_class_a_20_qs;
+ reg_rdata_next[11:10] = alert_class_1_class_a_21_qs;
+ reg_rdata_next[13:12] = alert_class_1_class_a_22_qs;
end
addr_hit[8]: begin
@@ -5631,6 +5925,9 @@
reg_rdata_next[17] = alert_cause_a_17_qs;
reg_rdata_next[18] = alert_cause_a_18_qs;
reg_rdata_next[19] = alert_cause_a_19_qs;
+ reg_rdata_next[20] = alert_cause_a_20_qs;
+ reg_rdata_next[21] = alert_cause_a_21_qs;
+ reg_rdata_next[22] = alert_cause_a_22_qs;
end
addr_hit[9]: begin
diff --git a/hw/top_earlgrey/ip/flash_ctrl/data/autogen/flash_ctrl.hjson b/hw/top_earlgrey/ip/flash_ctrl/data/autogen/flash_ctrl.hjson
index a1e3ebd..6785f3b 100644
--- a/hw/top_earlgrey/ip/flash_ctrl/data/autogen/flash_ctrl.hjson
+++ b/hw/top_earlgrey/ip/flash_ctrl/data/autogen/flash_ctrl.hjson
@@ -22,7 +22,18 @@
{ name: "rd_full", desc: "Read FIFO full" },
{ name: "rd_lvl", desc: "Read FIFO filled to level" },
{ name: "op_done", desc: "Operation complete" },
- { name: "op_error", desc: "Operation failed with error" },
+ ],
+
+ alert_list: [
+ { name: "recov_err",
+ desc: "flash alerts directly from prim_flash",
+ },
+ { name: "recov_mp_err",
+ desc: "recoverable flash alert for permission error"
+ },
+ { name: "recov_ecc_err",
+ desc: "recoverable flash alert for ecc error"
+ },
],
// Define flash_ctrl <-> flash_phy struct package
@@ -1263,9 +1274,10 @@
{ bits: "0", name: "done",
desc: "Flash operation done. Set by HW, cleared by SW" },
{ bits: "1", name: "err",
- desc: "Flash operation error. Set by HW, cleared by SW"},
+ desc: "Flash operation error. Set by HW, cleared by SW. See !!ERR_CODE for more details."},
]
},
+
{ name: "STATUS",
desc: "Flash Controller Status",
swaccess: "ro",
@@ -1276,10 +1288,99 @@
{ bits: "2", name: "prog_full", desc: "Flash program FIFO full"},
{ bits: "3", name: "prog_empty", desc: "Flash program FIFO empty, software must provide data", resval: "1"},
{ bits: "4", name: "init_wip", desc: "Flash controller undergoing init, inclusive of phy init"},
- { bits: "16:8", name: "error_addr", desc: "Flash controller error address."},
]
},
+ { name: "ERR_CODE",
+ desc: '''
+ Flash error code register.
+ This register tabulates detailed error status of the flash.
+ This is separate from !!OP_STATUS, which is used to indicate the current state of the software initiated
+ flash operation.
+ '''
+ swaccess: "rw",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "0",
+ name: "flash_err",
+ desc: '''
+ The flash memory itself has an error, please check the vendor specs for details of the error.
+ '''
+ },
+ { bits: "1",
+ name: "flash_alert",
+ desc: '''
+ The flash memory itself has triggered an alert, please check the vendor specs for details of the error.
+ '''
+ },
+ { bits: "2",
+ name: "mp_err",
+ desc: '''
+ Flash access has encountered an access permission error.
+ Please see !!ERR_ADDR for exact address.
+ '''
+ },
+ { bits: "3",
+ name: "ecc_single_err",
+ desc: '''
+ Flash access has encountered a single bit ECC error.
+ Please see !!ECC_ERR_ADDR for exact address.
+ '''
+ },
+ { bits: "4",
+ name: "ecc_multi_err",
+ desc: '''
+ Flash access has encountered a multi bit ECC error.
+ Please see !!ECC_ERR_ADDR for exact address.
+ '''
+ },
+ ]
+ },
+
+ { name: "ERR_ADDR",
+ desc: "Access permission error address",
+ swaccess: "ro",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "8:0",
+ resval: 0,
+ },
+ ]
+ },
+
+ { multireg: {
+ cname: "ECC_ERR"
+ name: "ECC_ERR_ADDR",
+ desc: "ecc error address",
+ count: "RegNumBanks",
+ swaccess: "ro",
+ hwaccess: "hwo",
+ fields: [
+ { bits: "19:0",
+ resval: 0,
+ },
+ ]
+ }
+ },
+
+ { name: "PHY_ALERT_CFG",
+ desc: "Phy alert configuration",
+ swaccess: "rw",
+ hwaccess: "hro",
+ fields: [
+ { bits: "0",
+ name: "alert_ack",
+ desc: "Acknowledge flash phy alert"
+ },
+ { bits: "1",
+ name: "alert_trig",
+ desc: "Trigger flash phy alert"
+ }
+ ]
+ tags: [ // alert triggers should be tested by directed tests
+ "excl:CsrAllTests:CsrExclWrite"]
+ },
+
{ name: "PHY_STATUS",
desc: "Flash Phy Status",
swaccess: "ro",
diff --git a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl.sv b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl.sv
index 564d255..9f64899 100644
--- a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl.sv
+++ b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl.sv
@@ -15,6 +15,7 @@
`include "prim_assert.sv"
module flash_ctrl import flash_ctrl_pkg::*; #(
+ parameter logic AlertAsyncOn = 1'b1,
parameter flash_key_t RndCnstAddrKey = RndCnstAddrKeyDefault,
parameter flash_key_t RndCnstDataKey = RndCnstDataKeyDefault,
parameter lfsr_seed_t RndCnstLfsrSeed = RndCnstLfsrSeedDefault,
@@ -57,7 +58,12 @@
output logic intr_rd_full_o, // Read fifo is full
output logic intr_rd_lvl_o, // Read fifo is full
output logic intr_op_done_o, // Requested flash operation (wr/erase) done
- output logic intr_op_error_o // Requested flash operation (wr/erase) done
+
+ // Alerts
+ input prim_alert_pkg::alert_rx_t [flash_ctrl_reg_pkg::NumAlerts-1:0] alert_rx_i,
+ output prim_alert_pkg::alert_tx_t [flash_ctrl_reg_pkg::NumAlerts-1:0] alert_tx_o
+
+
);
import flash_ctrl_reg_pkg::*;
@@ -737,8 +743,6 @@
assign hw2reg.status.prog_empty.de = sw_sel;
assign hw2reg.status.init_wip.d = flash_phy_busy | ctrl_init_busy;
assign hw2reg.status.init_wip.de = 1'b1;
- assign hw2reg.status.error_addr.d = err_addr;
- assign hw2reg.status.error_addr.de = sw_sel;
assign hw2reg.control.start.d = 1'b0;
assign hw2reg.control.start.de = sw_ctrl_done;
// if software operation selected, based on transaction start
@@ -764,6 +768,8 @@
assign flash_o.addr_key = addr_key;
assign flash_o.data_key = data_key;
assign flash_o.tl_flash_c2p = tl_win_h2d[2];
+ assign flash_o.alert_trig = reg2hw.phy_alert_cfg.alert_trig.q;
+ assign flash_o.alert_ack = reg2hw.phy_alert_cfg.alert_ack.q;
assign flash_rd_err = flash_i.rd_err;
assign flash_rd_data = flash_i.rd_data;
assign flash_phy_busy = flash_i.init_busy;
@@ -784,8 +790,71 @@
.q_o(pwrmgr_o.flash_idle)
);
+ //////////////////////////////////////
+ // Alert senders
+ //////////////////////////////////////
- // Interrupts
+ logic [NumAlerts-1:0] alert_srcs;
+ logic [NumAlerts-1:0] alert_tests;
+
+ logic recov_err;
+ assign recov_err = flash_i.flash_alert_p | ~flash_i.flash_alert_n;
+
+ logic recov_mp_err;
+ assign recov_mp_err = flash_mp_error;
+
+ logic recov_ecc_err;
+ assign recov_ecc_err = |flash_i.ecc_single_err | |flash_i.ecc_multi_err;
+
+ assign alert_srcs = { recov_ecc_err,
+ recov_mp_err,
+ recov_err
+ };
+
+ assign alert_tests = { reg2hw.alert_test.recov_ecc_err.q & reg2hw.alert_test.recov_ecc_err.qe,
+ reg2hw.alert_test.recov_mp_err.q & reg2hw.alert_test.recov_mp_err.qe,
+ reg2hw.alert_test.recov_err.q & reg2hw.alert_test.recov_err.qe
+ };
+
+ for (genvar i = 0; i < NumAlerts; i++) begin : gen_alert_senders
+ prim_alert_sender #(
+ .AsyncOn(AlertAsyncOn)
+ ) u_alert_sender (
+ .clk_i,
+ .rst_ni,
+ .alert_req_i(alert_srcs[i]),
+ .alert_test_i(alert_tests[i]),
+ .alert_ack_o(),
+ .alert_state_o(),
+ .alert_rx_i(alert_rx_i[i]),
+ .alert_tx_o(alert_tx_o[i])
+ );
+ end
+
+
+ //////////////////////////////////////
+ // Errors and Interrupts
+ //////////////////////////////////////
+
+ assign hw2reg.err_code.mp_err.d = 1'b1;
+ assign hw2reg.err_code.ecc_single_err.d = 1'b1;
+ assign hw2reg.err_code.ecc_multi_err.d = 1'b1;
+ assign hw2reg.err_code.flash_err.d = 1'b1;
+ assign hw2reg.err_code.flash_alert.d = 1'b1;
+ assign hw2reg.err_code.mp_err.de = flash_mp_error;
+ assign hw2reg.err_code.ecc_single_err.de = |flash_i.ecc_single_err;
+ assign hw2reg.err_code.ecc_multi_err.de = |flash_i.ecc_multi_err;
+ assign hw2reg.err_code.flash_err.de = flash_i.flash_err;
+ assign hw2reg.err_code.flash_alert.de = flash_i.flash_alert_p | ~flash_i.flash_alert_n;
+ assign hw2reg.err_addr.d = err_addr;
+ assign hw2reg.err_addr.de = flash_mp_error;
+
+ for (genvar bank = 0; bank < NumBanks; bank++) begin : gen_err_cons
+ assign hw2reg.ecc_err_addr[bank].d = {flash_i.ecc_addr[bank], {BusByteWidth{1'b0}}};
+ assign hw2reg.ecc_err_addr[bank].de = flash_i.ecc_single_err[bank] |
+ flash_i.ecc_multi_err[bank];
+ end
+
// Generate edge triggered signals for sources that are level
logic [3:0] intr_src;
logic [3:0] intr_src_q;
@@ -813,7 +882,6 @@
assign intr_rd_full_o = reg2hw.intr_enable.rd_full.q & reg2hw.intr_state.rd_full.q;
assign intr_rd_lvl_o = reg2hw.intr_enable.rd_lvl.q & reg2hw.intr_state.rd_lvl.q;
assign intr_op_done_o = reg2hw.intr_enable.op_done.q & reg2hw.intr_state.op_done.q;
- assign intr_op_error_o = reg2hw.intr_enable.op_error.q & reg2hw.intr_state.op_error.q;
assign hw2reg.intr_state.prog_empty.d = 1'b1;
assign hw2reg.intr_state.prog_empty.de = intr_assert[3] |
@@ -841,12 +909,6 @@
(reg2hw.intr_test.op_done.qe &
reg2hw.intr_test.op_done.q);
- assign hw2reg.intr_state.op_error.d = 1'b1;
- assign hw2reg.intr_state.op_error.de = sw_ctrl_err |
- (reg2hw.intr_test.op_error.qe &
- reg2hw.intr_test.op_error.q);
-
-
// Unused bits
logic [BusByteWidth-1:0] unused_byte_sel;
@@ -872,6 +934,5 @@
`ASSERT_KNOWN(IntrProgRdFullKnownO_A, intr_rd_full_o )
`ASSERT_KNOWN(IntrRdLvlKnownO_A, intr_rd_lvl_o )
`ASSERT_KNOWN(IntrOpDoneKnownO_A, intr_op_done_o )
- `ASSERT_KNOWN(IntrOpErrorKnownO_A, intr_op_error_o )
endmodule
diff --git a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_pkg.sv b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_pkg.sv
index ec4f91f..5cc8cc3 100644
--- a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_pkg.sv
+++ b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_pkg.sv
@@ -305,6 +305,8 @@
logic [KeyWidth-1:0] data_key;
logic rd_buf_en;
tlul_pkg::tl_h2d_t tl_flash_c2p;
+ logic alert_trig;
+ logic alert_ack;
} flash_req_t;
// default value of flash_req_t (for dangling ports)
@@ -328,7 +330,9 @@
addr_key: RndCnstAddrKeyDefault,
data_key: RndCnstDataKeyDefault,
rd_buf_en: 1'b0,
- tl_flash_c2p: '0
+ tl_flash_c2p: '0,
+ alert_trig: 1'b0,
+ alert_ack: 1'b0
};
// memory to flash controller
@@ -341,6 +345,12 @@
logic [BusWidth-1:0] rd_data;
logic init_busy;
tlul_pkg::tl_d2h_t tl_flash_p2c;
+ logic flash_err;
+ logic flash_alert_p;
+ logic flash_alert_n;
+ logic [NumBanks-1:0] ecc_single_err;
+ logic [NumBanks-1:0] ecc_multi_err;
+ logic [NumBanks-1:0][BusAddrW-1:0] ecc_addr;
} flash_rsp_t;
// default value of flash_rsp_t (for dangling ports)
@@ -352,7 +362,13 @@
rd_err: '0,
rd_data: '0,
init_busy: 1'b0,
- tl_flash_p2c: '0
+ tl_flash_p2c: '0,
+ flash_err: 1'b0,
+ flash_alert_p: 1'b0,
+ flash_alert_n: 1'b1,
+ ecc_single_err: '0,
+ ecc_multi_err: '0,
+ ecc_addr: '0
};
// RMA entries
diff --git a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_pkg.sv b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_pkg.sv
index 96b05b2..e3b9087 100644
--- a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_pkg.sv
@@ -20,6 +20,7 @@
parameter int BytesPerWord = 8;
parameter int BytesPerPage = 2048;
parameter int BytesPerBank = 524288;
+ parameter int NumAlerts = 3;
// Address width within the block
parameter int BlockAw = 9;
@@ -43,9 +44,6 @@
struct packed {
logic q;
} op_done;
- struct packed {
- logic q;
- } op_error;
} flash_ctrl_reg2hw_intr_state_reg_t;
typedef struct packed {
@@ -64,9 +62,6 @@
struct packed {
logic q;
} op_done;
- struct packed {
- logic q;
- } op_error;
} flash_ctrl_reg2hw_intr_enable_reg_t;
typedef struct packed {
@@ -90,11 +85,22 @@
logic q;
logic qe;
} op_done;
+ } flash_ctrl_reg2hw_intr_test_reg_t;
+
+ typedef struct packed {
struct packed {
logic q;
logic qe;
- } op_error;
- } flash_ctrl_reg2hw_intr_test_reg_t;
+ } recov_err;
+ struct packed {
+ logic q;
+ logic qe;
+ } recov_mp_err;
+ struct packed {
+ logic q;
+ logic qe;
+ } recov_ecc_err;
+ } flash_ctrl_reg2hw_alert_test_reg_t;
typedef struct packed {
struct packed {
@@ -337,6 +343,15 @@
} flash_ctrl_reg2hw_mp_bank_cfg_mreg_t;
typedef struct packed {
+ struct packed {
+ logic q;
+ } alert_ack;
+ struct packed {
+ logic q;
+ } alert_trig;
+ } flash_ctrl_reg2hw_phy_alert_cfg_reg_t;
+
+ typedef struct packed {
logic [31:0] q;
} flash_ctrl_reg2hw_scratch_reg_t;
@@ -375,10 +390,6 @@
logic d;
logic de;
} op_done;
- struct packed {
- logic d;
- logic de;
- } op_error;
} flash_ctrl_hw2reg_intr_state_reg_t;
typedef struct packed {
@@ -429,16 +440,45 @@
logic d;
logic de;
} init_wip;
- struct packed {
- logic [8:0] d;
- logic de;
- } error_addr;
} flash_ctrl_hw2reg_status_reg_t;
typedef struct packed {
struct packed {
logic d;
logic de;
+ } flash_err;
+ struct packed {
+ logic d;
+ logic de;
+ } flash_alert;
+ struct packed {
+ logic d;
+ logic de;
+ } mp_err;
+ struct packed {
+ logic d;
+ logic de;
+ } ecc_single_err;
+ struct packed {
+ logic d;
+ logic de;
+ } ecc_multi_err;
+ } flash_ctrl_hw2reg_err_code_reg_t;
+
+ typedef struct packed {
+ logic [8:0] d;
+ logic de;
+ } flash_ctrl_hw2reg_err_addr_reg_t;
+
+ typedef struct packed {
+ logic [19:0] d;
+ logic de;
+ } flash_ctrl_hw2reg_ecc_err_addr_mreg_t;
+
+ typedef struct packed {
+ struct packed {
+ logic d;
+ logic de;
} init_wip;
struct packed {
logic d;
@@ -455,22 +495,24 @@
// Register to internal design logic //
///////////////////////////////////////
typedef struct packed {
- flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [519:514]
- flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [513:508]
- flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [507:496]
- flash_ctrl_reg2hw_control_reg_t control; // [495:476]
- flash_ctrl_reg2hw_addr_reg_t addr; // [475:444]
- flash_ctrl_reg2hw_prog_type_en_reg_t prog_type_en; // [443:442]
- flash_ctrl_reg2hw_erase_suspend_reg_t erase_suspend; // [441:441]
- flash_ctrl_reg2hw_mp_region_cfg_mreg_t [7:0] mp_region_cfg; // [440:233]
- flash_ctrl_reg2hw_default_region_reg_t default_region; // [232:227]
- flash_ctrl_reg2hw_bank0_info0_page_cfg_mreg_t [9:0] bank0_info0_page_cfg; // [226:157]
- flash_ctrl_reg2hw_bank0_info1_page_cfg_mreg_t [0:0] bank0_info1_page_cfg; // [156:150]
- flash_ctrl_reg2hw_bank0_info2_page_cfg_mreg_t [1:0] bank0_info2_page_cfg; // [149:136]
- flash_ctrl_reg2hw_bank1_info0_page_cfg_mreg_t [9:0] bank1_info0_page_cfg; // [135:66]
- flash_ctrl_reg2hw_bank1_info1_page_cfg_mreg_t [0:0] bank1_info1_page_cfg; // [65:59]
- flash_ctrl_reg2hw_bank1_info2_page_cfg_mreg_t [1:0] bank1_info2_page_cfg; // [58:45]
- flash_ctrl_reg2hw_mp_bank_cfg_mreg_t [1:0] mp_bank_cfg; // [44:43]
+ flash_ctrl_reg2hw_intr_state_reg_t intr_state; // [523:519]
+ flash_ctrl_reg2hw_intr_enable_reg_t intr_enable; // [518:514]
+ flash_ctrl_reg2hw_intr_test_reg_t intr_test; // [513:504]
+ flash_ctrl_reg2hw_alert_test_reg_t alert_test; // [503:498]
+ flash_ctrl_reg2hw_control_reg_t control; // [497:478]
+ flash_ctrl_reg2hw_addr_reg_t addr; // [477:446]
+ flash_ctrl_reg2hw_prog_type_en_reg_t prog_type_en; // [445:444]
+ flash_ctrl_reg2hw_erase_suspend_reg_t erase_suspend; // [443:443]
+ flash_ctrl_reg2hw_mp_region_cfg_mreg_t [7:0] mp_region_cfg; // [442:235]
+ flash_ctrl_reg2hw_default_region_reg_t default_region; // [234:229]
+ flash_ctrl_reg2hw_bank0_info0_page_cfg_mreg_t [9:0] bank0_info0_page_cfg; // [228:159]
+ flash_ctrl_reg2hw_bank0_info1_page_cfg_mreg_t [0:0] bank0_info1_page_cfg; // [158:152]
+ flash_ctrl_reg2hw_bank0_info2_page_cfg_mreg_t [1:0] bank0_info2_page_cfg; // [151:138]
+ flash_ctrl_reg2hw_bank1_info0_page_cfg_mreg_t [9:0] bank1_info0_page_cfg; // [137:68]
+ flash_ctrl_reg2hw_bank1_info1_page_cfg_mreg_t [0:0] bank1_info1_page_cfg; // [67:61]
+ flash_ctrl_reg2hw_bank1_info2_page_cfg_mreg_t [1:0] bank1_info2_page_cfg; // [60:47]
+ flash_ctrl_reg2hw_mp_bank_cfg_mreg_t [1:0] mp_bank_cfg; // [46:45]
+ flash_ctrl_reg2hw_phy_alert_cfg_reg_t phy_alert_cfg; // [44:43]
flash_ctrl_reg2hw_scratch_reg_t scratch; // [42:11]
flash_ctrl_reg2hw_fifo_lvl_reg_t fifo_lvl; // [10:1]
flash_ctrl_reg2hw_fifo_rst_reg_t fifo_rst; // [0:0]
@@ -480,12 +522,15 @@
// Internal design logic to register //
///////////////////////////////////////
typedef struct packed {
- flash_ctrl_hw2reg_intr_state_reg_t intr_state; // [46:35]
- flash_ctrl_hw2reg_ctrl_regwen_reg_t ctrl_regwen; // [34:34]
- flash_ctrl_hw2reg_control_reg_t control; // [33:32]
- flash_ctrl_hw2reg_erase_suspend_reg_t erase_suspend; // [31:30]
- flash_ctrl_hw2reg_op_status_reg_t op_status; // [29:26]
- flash_ctrl_hw2reg_status_reg_t status; // [25:6]
+ flash_ctrl_hw2reg_intr_state_reg_t intr_state; // [96:87]
+ flash_ctrl_hw2reg_ctrl_regwen_reg_t ctrl_regwen; // [86:86]
+ flash_ctrl_hw2reg_control_reg_t control; // [85:84]
+ flash_ctrl_hw2reg_erase_suspend_reg_t erase_suspend; // [83:82]
+ flash_ctrl_hw2reg_op_status_reg_t op_status; // [81:78]
+ flash_ctrl_hw2reg_status_reg_t status; // [77:68]
+ flash_ctrl_hw2reg_err_code_reg_t err_code; // [67:58]
+ flash_ctrl_hw2reg_err_addr_reg_t err_addr; // [57:48]
+ flash_ctrl_hw2reg_ecc_err_addr_mreg_t [1:0] ecc_err_addr; // [47:6]
flash_ctrl_hw2reg_phy_status_reg_t phy_status; // [5:0]
} flash_ctrl_hw2reg_t;
@@ -493,93 +538,99 @@
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_STATE_OFFSET = 9'h 0;
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_ENABLE_OFFSET = 9'h 4;
parameter logic [BlockAw-1:0] FLASH_CTRL_INTR_TEST_OFFSET = 9'h 8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 10;
- parameter logic [BlockAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 14;
- parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 18;
- parameter logic [BlockAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 1c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 20;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 24;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 28;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 2c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 30;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 34;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 38;
- parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 3c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 40;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 44;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 48;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 4c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 50;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 54;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 58;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 5c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 60;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 64;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 68;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 6c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 70;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 74;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 78;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 7c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 80;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 84;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 88;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 8c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 90;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 94;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h 98;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h 9c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h a4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h a8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h ac;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h b4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h b8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h bc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h c4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h c8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h cc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h d4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h d8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h dc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h e4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h e8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h ec;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f0;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h f4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h f8;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h fc;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 100;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 104;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 108;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 10c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 110;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 114;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 118;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 11c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 120;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 124;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 128;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 12c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 130;
- parameter logic [BlockAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 134;
- parameter logic [BlockAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 138;
- parameter logic [BlockAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 13c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 140;
- parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 144;
- parameter logic [BlockAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 148;
- parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 14c;
- parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 150;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ALERT_TEST_OFFSET = 9'h c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_CTRL_REGWEN_OFFSET = 9'h 10;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_CONTROL_OFFSET = 9'h 14;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ADDR_OFFSET = 9'h 18;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_TYPE_EN_OFFSET = 9'h 1c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERASE_SUSPEND_OFFSET = 9'h 20;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET = 9'h 24;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET = 9'h 28;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET = 9'h 2c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET = 9'h 30;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET = 9'h 34;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET = 9'h 38;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET = 9'h 3c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET = 9'h 40;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_0_OFFSET = 9'h 44;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_1_OFFSET = 9'h 48;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_2_OFFSET = 9'h 4c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_3_OFFSET = 9'h 50;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_4_OFFSET = 9'h 54;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_5_OFFSET = 9'h 58;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_6_OFFSET = 9'h 5c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_REGION_CFG_7_OFFSET = 9'h 60;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_DEFAULT_REGION_OFFSET = 9'h 64;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET = 9'h 68;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET = 9'h 6c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET = 9'h 70;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET = 9'h 74;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET = 9'h 78;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET = 9'h 7c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET = 9'h 80;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET = 9'h 84;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET = 9'h 88;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET = 9'h 8c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET = 9'h 90;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET = 9'h 94;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET = 9'h 98;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET = 9'h 9c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET = 9'h a0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET = 9'h a4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET = 9'h a8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET = 9'h ac;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET = 9'h b0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET = 9'h b4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET = 9'h b8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET = 9'h bc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET = 9'h c0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET = 9'h c4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET = 9'h c8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET = 9'h cc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET = 9'h d0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET = 9'h d4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET = 9'h d8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET = 9'h dc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET = 9'h e0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET = 9'h e4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET = 9'h e8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET = 9'h ec;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET = 9'h f0;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET = 9'h f4;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET = 9'h f8;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET = 9'h fc;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET = 9'h 100;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET = 9'h 104;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET = 9'h 108;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET = 9'h 10c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET = 9'h 110;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET = 9'h 114;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET = 9'h 118;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET = 9'h 11c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET = 9'h 120;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET = 9'h 124;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET = 9'h 128;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET = 9'h 12c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET = 9'h 130;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET = 9'h 134;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_BANK_CFG_REGWEN_OFFSET = 9'h 138;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_MP_BANK_CFG_OFFSET = 9'h 13c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_OP_STATUS_OFFSET = 9'h 140;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_STATUS_OFFSET = 9'h 144;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERR_CODE_OFFSET = 9'h 148;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ERR_ADDR_OFFSET = 9'h 14c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ECC_ERR_ADDR_0_OFFSET = 9'h 150;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_ECC_ERR_ADDR_1_OFFSET = 9'h 154;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_ALERT_CFG_OFFSET = 9'h 158;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PHY_STATUS_OFFSET = 9'h 15c;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_SCRATCH_OFFSET = 9'h 160;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_LVL_OFFSET = 9'h 164;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_FIFO_RST_OFFSET = 9'h 168;
// Window parameter
- parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 154;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_OFFSET = 9'h 16c;
parameter logic [BlockAw-1:0] FLASH_CTRL_PROG_FIFO_SIZE = 9'h 4;
- parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 158;
+ parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_OFFSET = 9'h 170;
parameter logic [BlockAw-1:0] FLASH_CTRL_RD_FIFO_SIZE = 9'h 4;
parameter logic [BlockAw-1:0] FLASH_CTRL_PRIM_FLASH_CFG_OFFSET = 9'h 180;
parameter logic [BlockAw-1:0] FLASH_CTRL_PRIM_FLASH_CFG_SIZE = 9'h 54;
@@ -589,6 +640,7 @@
FLASH_CTRL_INTR_STATE,
FLASH_CTRL_INTR_ENABLE,
FLASH_CTRL_INTR_TEST,
+ FLASH_CTRL_ALERT_TEST,
FLASH_CTRL_CTRL_REGWEN,
FLASH_CTRL_CONTROL,
FLASH_CTRL_ADDR,
@@ -667,6 +719,11 @@
FLASH_CTRL_MP_BANK_CFG,
FLASH_CTRL_OP_STATUS,
FLASH_CTRL_STATUS,
+ FLASH_CTRL_ERR_CODE,
+ FLASH_CTRL_ERR_ADDR,
+ FLASH_CTRL_ECC_ERR_ADDR_0,
+ FLASH_CTRL_ECC_ERR_ADDR_1,
+ FLASH_CTRL_PHY_ALERT_CFG,
FLASH_CTRL_PHY_STATUS,
FLASH_CTRL_SCRATCH,
FLASH_CTRL_FIFO_LVL,
@@ -674,92 +731,98 @@
} flash_ctrl_id_e;
// Register width information to check illegal writes
- parameter logic [3:0] FLASH_CTRL_PERMIT [85] = '{
+ parameter logic [3:0] FLASH_CTRL_PERMIT [91] = '{
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_CTRL_REGWEN
- 4'b 1111, // index[ 4] FLASH_CTRL_CONTROL
- 4'b 1111, // index[ 5] FLASH_CTRL_ADDR
- 4'b 0001, // index[ 6] FLASH_CTRL_PROG_TYPE_EN
- 4'b 0001, // index[ 7] FLASH_CTRL_ERASE_SUSPEND
- 4'b 0001, // index[ 8] FLASH_CTRL_REGION_CFG_REGWEN_0
- 4'b 0001, // index[ 9] FLASH_CTRL_REGION_CFG_REGWEN_1
- 4'b 0001, // index[10] FLASH_CTRL_REGION_CFG_REGWEN_2
- 4'b 0001, // index[11] FLASH_CTRL_REGION_CFG_REGWEN_3
- 4'b 0001, // index[12] FLASH_CTRL_REGION_CFG_REGWEN_4
- 4'b 0001, // index[13] FLASH_CTRL_REGION_CFG_REGWEN_5
- 4'b 0001, // index[14] FLASH_CTRL_REGION_CFG_REGWEN_6
- 4'b 0001, // index[15] FLASH_CTRL_REGION_CFG_REGWEN_7
- 4'b 1111, // index[16] FLASH_CTRL_MP_REGION_CFG_0
- 4'b 1111, // index[17] FLASH_CTRL_MP_REGION_CFG_1
- 4'b 1111, // index[18] FLASH_CTRL_MP_REGION_CFG_2
- 4'b 1111, // index[19] FLASH_CTRL_MP_REGION_CFG_3
- 4'b 1111, // index[20] FLASH_CTRL_MP_REGION_CFG_4
- 4'b 1111, // index[21] FLASH_CTRL_MP_REGION_CFG_5
- 4'b 1111, // index[22] FLASH_CTRL_MP_REGION_CFG_6
- 4'b 1111, // index[23] FLASH_CTRL_MP_REGION_CFG_7
- 4'b 0001, // index[24] FLASH_CTRL_DEFAULT_REGION
- 4'b 0001, // index[25] FLASH_CTRL_BANK0_INFO0_REGWEN_0
- 4'b 0001, // index[26] FLASH_CTRL_BANK0_INFO0_REGWEN_1
- 4'b 0001, // index[27] FLASH_CTRL_BANK0_INFO0_REGWEN_2
- 4'b 0001, // index[28] FLASH_CTRL_BANK0_INFO0_REGWEN_3
- 4'b 0001, // index[29] FLASH_CTRL_BANK0_INFO0_REGWEN_4
- 4'b 0001, // index[30] FLASH_CTRL_BANK0_INFO0_REGWEN_5
- 4'b 0001, // index[31] FLASH_CTRL_BANK0_INFO0_REGWEN_6
- 4'b 0001, // index[32] FLASH_CTRL_BANK0_INFO0_REGWEN_7
- 4'b 0001, // index[33] FLASH_CTRL_BANK0_INFO0_REGWEN_8
- 4'b 0001, // index[34] FLASH_CTRL_BANK0_INFO0_REGWEN_9
- 4'b 0001, // index[35] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0
- 4'b 0001, // index[36] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1
- 4'b 0001, // index[37] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2
- 4'b 0001, // index[38] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3
- 4'b 0001, // index[39] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4
- 4'b 0001, // index[40] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5
- 4'b 0001, // index[41] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6
- 4'b 0001, // index[42] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7
- 4'b 0001, // index[43] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8
- 4'b 0001, // index[44] FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9
- 4'b 0001, // index[45] FLASH_CTRL_BANK0_INFO1_REGWEN
- 4'b 0001, // index[46] FLASH_CTRL_BANK0_INFO1_PAGE_CFG
- 4'b 0001, // index[47] FLASH_CTRL_BANK0_INFO2_REGWEN_0
- 4'b 0001, // index[48] FLASH_CTRL_BANK0_INFO2_REGWEN_1
- 4'b 0001, // index[49] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0
- 4'b 0001, // index[50] FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1
- 4'b 0001, // index[51] FLASH_CTRL_BANK1_INFO0_REGWEN_0
- 4'b 0001, // index[52] FLASH_CTRL_BANK1_INFO0_REGWEN_1
- 4'b 0001, // index[53] FLASH_CTRL_BANK1_INFO0_REGWEN_2
- 4'b 0001, // index[54] FLASH_CTRL_BANK1_INFO0_REGWEN_3
- 4'b 0001, // index[55] FLASH_CTRL_BANK1_INFO0_REGWEN_4
- 4'b 0001, // index[56] FLASH_CTRL_BANK1_INFO0_REGWEN_5
- 4'b 0001, // index[57] FLASH_CTRL_BANK1_INFO0_REGWEN_6
- 4'b 0001, // index[58] FLASH_CTRL_BANK1_INFO0_REGWEN_7
- 4'b 0001, // index[59] FLASH_CTRL_BANK1_INFO0_REGWEN_8
- 4'b 0001, // index[60] FLASH_CTRL_BANK1_INFO0_REGWEN_9
- 4'b 0001, // index[61] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0
- 4'b 0001, // index[62] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1
- 4'b 0001, // index[63] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2
- 4'b 0001, // index[64] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3
- 4'b 0001, // index[65] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4
- 4'b 0001, // index[66] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5
- 4'b 0001, // index[67] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6
- 4'b 0001, // index[68] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7
- 4'b 0001, // index[69] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8
- 4'b 0001, // index[70] FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9
- 4'b 0001, // index[71] FLASH_CTRL_BANK1_INFO1_REGWEN
- 4'b 0001, // index[72] FLASH_CTRL_BANK1_INFO1_PAGE_CFG
- 4'b 0001, // index[73] FLASH_CTRL_BANK1_INFO2_REGWEN_0
- 4'b 0001, // index[74] FLASH_CTRL_BANK1_INFO2_REGWEN_1
- 4'b 0001, // index[75] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0
- 4'b 0001, // index[76] FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1
- 4'b 0001, // index[77] FLASH_CTRL_BANK_CFG_REGWEN
- 4'b 0001, // index[78] FLASH_CTRL_MP_BANK_CFG
- 4'b 0001, // index[79] FLASH_CTRL_OP_STATUS
- 4'b 0111, // index[80] FLASH_CTRL_STATUS
- 4'b 0001, // index[81] FLASH_CTRL_PHY_STATUS
- 4'b 1111, // index[82] FLASH_CTRL_SCRATCH
- 4'b 0011, // index[83] FLASH_CTRL_FIFO_LVL
- 4'b 0001 // index[84] FLASH_CTRL_FIFO_RST
+ 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
+ 4'b 0011, // index[83] FLASH_CTRL_ERR_ADDR
+ 4'b 0111, // index[84] FLASH_CTRL_ECC_ERR_ADDR_0
+ 4'b 0111, // index[85] FLASH_CTRL_ECC_ERR_ADDR_1
+ 4'b 0001, // index[86] FLASH_CTRL_PHY_ALERT_CFG
+ 4'b 0001, // index[87] FLASH_CTRL_PHY_STATUS
+ 4'b 1111, // index[88] FLASH_CTRL_SCRATCH
+ 4'b 0011, // index[89] FLASH_CTRL_FIFO_LVL
+ 4'b 0001 // index[90] FLASH_CTRL_FIFO_RST
};
endpackage
diff --git a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_top.sv b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_top.sv
index 973aeb4..6b601c3 100644
--- a/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_top.sv
+++ b/hw/top_earlgrey/ip/flash_ctrl/rtl/autogen/flash_ctrl_reg_top.sv
@@ -90,10 +90,10 @@
reg_steer = 3; // Default set to register
// TODO: Can below codes be unique case () inside ?
- if (tl_i.a_address[AW-1:0] >= 340 && tl_i.a_address[AW-1:0] < 344) begin
+ if (tl_i.a_address[AW-1:0] >= 364 && tl_i.a_address[AW-1:0] < 368) begin
reg_steer = 0;
end
- if (tl_i.a_address[AW-1:0] >= 344 && tl_i.a_address[AW-1:0] < 348) begin
+ if (tl_i.a_address[AW-1:0] >= 368 && tl_i.a_address[AW-1:0] < 372) begin
reg_steer = 1;
end
if (tl_i.a_address[AW-1:0] >= 384 && tl_i.a_address[AW-1:0] < 468) begin
@@ -141,9 +141,6 @@
logic intr_state_op_done_qs;
logic intr_state_op_done_wd;
logic intr_state_op_done_we;
- logic intr_state_op_error_qs;
- logic intr_state_op_error_wd;
- logic intr_state_op_error_we;
logic intr_enable_prog_empty_qs;
logic intr_enable_prog_empty_wd;
logic intr_enable_prog_empty_we;
@@ -159,9 +156,6 @@
logic intr_enable_op_done_qs;
logic intr_enable_op_done_wd;
logic intr_enable_op_done_we;
- logic intr_enable_op_error_qs;
- logic intr_enable_op_error_wd;
- logic intr_enable_op_error_we;
logic intr_test_prog_empty_wd;
logic intr_test_prog_empty_we;
logic intr_test_prog_lvl_wd;
@@ -172,8 +166,12 @@
logic intr_test_rd_lvl_we;
logic intr_test_op_done_wd;
logic intr_test_op_done_we;
- logic intr_test_op_error_wd;
- logic intr_test_op_error_we;
+ logic alert_test_recov_err_wd;
+ logic alert_test_recov_err_we;
+ logic alert_test_recov_mp_err_wd;
+ logic alert_test_recov_mp_err_we;
+ logic alert_test_recov_ecc_err_wd;
+ logic alert_test_recov_ecc_err_we;
logic ctrl_regwen_qs;
logic ctrl_regwen_re;
logic control_start_qs;
@@ -1111,7 +1109,30 @@
logic status_prog_full_qs;
logic status_prog_empty_qs;
logic status_init_wip_qs;
- logic [8:0] status_error_addr_qs;
+ logic err_code_flash_err_qs;
+ logic err_code_flash_err_wd;
+ logic err_code_flash_err_we;
+ logic err_code_flash_alert_qs;
+ logic err_code_flash_alert_wd;
+ logic err_code_flash_alert_we;
+ logic err_code_mp_err_qs;
+ logic err_code_mp_err_wd;
+ logic err_code_mp_err_we;
+ logic err_code_ecc_single_err_qs;
+ logic err_code_ecc_single_err_wd;
+ logic err_code_ecc_single_err_we;
+ logic err_code_ecc_multi_err_qs;
+ logic err_code_ecc_multi_err_wd;
+ logic err_code_ecc_multi_err_we;
+ logic [8:0] err_addr_qs;
+ logic [19:0] ecc_err_addr_0_qs;
+ logic [19:0] ecc_err_addr_1_qs;
+ logic phy_alert_cfg_alert_ack_qs;
+ logic phy_alert_cfg_alert_ack_wd;
+ logic phy_alert_cfg_alert_ack_we;
+ logic phy_alert_cfg_alert_trig_qs;
+ logic phy_alert_cfg_alert_trig_wd;
+ logic phy_alert_cfg_alert_trig_we;
logic phy_status_init_wip_qs;
logic phy_status_prog_normal_avail_qs;
logic phy_status_prog_repair_avail_qs;
@@ -1261,32 +1282,6 @@
);
- // F[op_error]: 5:5
- prim_subreg #(
- .DW (1),
- .SWACCESS("W1C"),
- .RESVAL (1'h0)
- ) u_intr_state_op_error (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (intr_state_op_error_we),
- .wd (intr_state_op_error_wd),
-
- // from internal hardware
- .de (hw2reg.intr_state.op_error.de),
- .d (hw2reg.intr_state.op_error.d ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.intr_state.op_error.q ),
-
- // to register interface (read)
- .qs (intr_state_op_error_qs)
- );
-
-
// R[intr_enable]: V(False)
// F[prog_empty]: 0:0
@@ -1419,32 +1414,6 @@
);
- // F[op_error]: 5:5
- prim_subreg #(
- .DW (1),
- .SWACCESS("RW"),
- .RESVAL (1'h0)
- ) u_intr_enable_op_error (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (intr_enable_op_error_we),
- .wd (intr_enable_op_error_wd),
-
- // from internal hardware
- .de (1'b0),
- .d ('0 ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.intr_enable.op_error.q ),
-
- // to register interface (read)
- .qs (intr_enable_op_error_qs)
- );
-
-
// R[intr_test]: V(True)
// F[prog_empty]: 0:0
@@ -1522,17 +1491,49 @@
);
- // F[op_error]: 5:5
+ // R[alert_test]: V(True)
+
+ // F[recov_err]: 0:0
prim_subreg_ext #(
.DW (1)
- ) u_intr_test_op_error (
+ ) u_alert_test_recov_err (
.re (1'b0),
- .we (intr_test_op_error_we),
- .wd (intr_test_op_error_wd),
+ .we (alert_test_recov_err_we),
+ .wd (alert_test_recov_err_wd),
.d ('0),
.qre (),
- .qe (reg2hw.intr_test.op_error.qe),
- .q (reg2hw.intr_test.op_error.q ),
+ .qe (reg2hw.alert_test.recov_err.qe),
+ .q (reg2hw.alert_test.recov_err.q ),
+ .qs ()
+ );
+
+
+ // F[recov_mp_err]: 1:1
+ prim_subreg_ext #(
+ .DW (1)
+ ) u_alert_test_recov_mp_err (
+ .re (1'b0),
+ .we (alert_test_recov_mp_err_we),
+ .wd (alert_test_recov_mp_err_wd),
+ .d ('0),
+ .qre (),
+ .qe (reg2hw.alert_test.recov_mp_err.qe),
+ .q (reg2hw.alert_test.recov_mp_err.q ),
+ .qs ()
+ );
+
+
+ // F[recov_ecc_err]: 2:2
+ prim_subreg_ext #(
+ .DW (1)
+ ) u_alert_test_recov_ecc_err (
+ .re (1'b0),
+ .we (alert_test_recov_ecc_err_we),
+ .wd (alert_test_recov_ecc_err_wd),
+ .d ('0),
+ .qre (),
+ .qe (reg2hw.alert_test.recov_ecc_err.qe),
+ .q (reg2hw.alert_test.recov_ecc_err.q ),
.qs ()
);
@@ -9920,12 +9921,145 @@
);
- // F[error_addr]: 16:8
+ // R[err_code]: V(False)
+
+ // F[flash_err]: 0:0
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_flash_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_flash_err_we),
+ .wd (err_code_flash_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.flash_err.de),
+ .d (hw2reg.err_code.flash_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_flash_err_qs)
+ );
+
+
+ // F[flash_alert]: 1:1
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_flash_alert (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_flash_alert_we),
+ .wd (err_code_flash_alert_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.flash_alert.de),
+ .d (hw2reg.err_code.flash_alert.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_flash_alert_qs)
+ );
+
+
+ // F[mp_err]: 2:2
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_mp_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_mp_err_we),
+ .wd (err_code_mp_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.mp_err.de),
+ .d (hw2reg.err_code.mp_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_mp_err_qs)
+ );
+
+
+ // F[ecc_single_err]: 3:3
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_ecc_single_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_ecc_single_err_we),
+ .wd (err_code_ecc_single_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.ecc_single_err.de),
+ .d (hw2reg.err_code.ecc_single_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_ecc_single_err_qs)
+ );
+
+
+ // F[ecc_multi_err]: 4:4
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_err_code_ecc_multi_err (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (err_code_ecc_multi_err_we),
+ .wd (err_code_ecc_multi_err_wd),
+
+ // from internal hardware
+ .de (hw2reg.err_code.ecc_multi_err.de),
+ .d (hw2reg.err_code.ecc_multi_err.d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (err_code_ecc_multi_err_qs)
+ );
+
+
+ // R[err_addr]: V(False)
+
prim_subreg #(
.DW (9),
.SWACCESS("RO"),
.RESVAL (9'h0)
- ) u_status_error_addr (
+ ) u_err_addr (
.clk_i (clk_i ),
.rst_ni (rst_ni ),
@@ -9933,15 +10067,123 @@
.wd ('0 ),
// from internal hardware
- .de (hw2reg.status.error_addr.de),
- .d (hw2reg.status.error_addr.d ),
+ .de (hw2reg.err_addr.de),
+ .d (hw2reg.err_addr.d ),
// to internal hardware
.qe (),
.q (),
// to register interface (read)
- .qs (status_error_addr_qs)
+ .qs (err_addr_qs)
+ );
+
+
+
+ // Subregister 0 of Multireg ecc_err_addr
+ // R[ecc_err_addr_0]: V(False)
+
+ prim_subreg #(
+ .DW (20),
+ .SWACCESS("RO"),
+ .RESVAL (20'h0)
+ ) u_ecc_err_addr_0 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ .we (1'b0),
+ .wd ('0 ),
+
+ // from internal hardware
+ .de (hw2reg.ecc_err_addr[0].de),
+ .d (hw2reg.ecc_err_addr[0].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (ecc_err_addr_0_qs)
+ );
+
+ // Subregister 1 of Multireg ecc_err_addr
+ // R[ecc_err_addr_1]: V(False)
+
+ prim_subreg #(
+ .DW (20),
+ .SWACCESS("RO"),
+ .RESVAL (20'h0)
+ ) u_ecc_err_addr_1 (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ .we (1'b0),
+ .wd ('0 ),
+
+ // from internal hardware
+ .de (hw2reg.ecc_err_addr[1].de),
+ .d (hw2reg.ecc_err_addr[1].d ),
+
+ // to internal hardware
+ .qe (),
+ .q (),
+
+ // to register interface (read)
+ .qs (ecc_err_addr_1_qs)
+ );
+
+
+ // R[phy_alert_cfg]: V(False)
+
+ // F[alert_ack]: 0:0
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_phy_alert_cfg_alert_ack (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (phy_alert_cfg_alert_ack_we),
+ .wd (phy_alert_cfg_alert_ack_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.phy_alert_cfg.alert_ack.q ),
+
+ // to register interface (read)
+ .qs (phy_alert_cfg_alert_ack_qs)
+ );
+
+
+ // F[alert_trig]: 1:1
+ prim_subreg #(
+ .DW (1),
+ .SWACCESS("RW"),
+ .RESVAL (1'h0)
+ ) u_phy_alert_cfg_alert_trig (
+ .clk_i (clk_i ),
+ .rst_ni (rst_ni ),
+
+ // from register interface
+ .we (phy_alert_cfg_alert_trig_we),
+ .wd (phy_alert_cfg_alert_trig_wd),
+
+ // from internal hardware
+ .de (1'b0),
+ .d ('0 ),
+
+ // to internal hardware
+ .qe (),
+ .q (reg2hw.phy_alert_cfg.alert_trig.q ),
+
+ // to register interface (read)
+ .qs (phy_alert_cfg_alert_trig_qs)
);
@@ -10132,94 +10374,100 @@
- logic [84:0] addr_hit;
+ logic [90: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_CTRL_REGWEN_OFFSET);
- addr_hit[ 4] = (reg_addr == FLASH_CTRL_CONTROL_OFFSET);
- addr_hit[ 5] = (reg_addr == FLASH_CTRL_ADDR_OFFSET);
- addr_hit[ 6] = (reg_addr == FLASH_CTRL_PROG_TYPE_EN_OFFSET);
- addr_hit[ 7] = (reg_addr == FLASH_CTRL_ERASE_SUSPEND_OFFSET);
- addr_hit[ 8] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_0_OFFSET);
- addr_hit[ 9] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_1_OFFSET);
- addr_hit[10] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_2_OFFSET);
- addr_hit[11] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_3_OFFSET);
- addr_hit[12] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_4_OFFSET);
- addr_hit[13] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_5_OFFSET);
- addr_hit[14] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_6_OFFSET);
- addr_hit[15] = (reg_addr == FLASH_CTRL_REGION_CFG_REGWEN_7_OFFSET);
- addr_hit[16] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_0_OFFSET);
- addr_hit[17] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_1_OFFSET);
- addr_hit[18] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_2_OFFSET);
- addr_hit[19] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_3_OFFSET);
- addr_hit[20] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_4_OFFSET);
- addr_hit[21] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_5_OFFSET);
- addr_hit[22] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_6_OFFSET);
- addr_hit[23] = (reg_addr == FLASH_CTRL_MP_REGION_CFG_7_OFFSET);
- addr_hit[24] = (reg_addr == FLASH_CTRL_DEFAULT_REGION_OFFSET);
- addr_hit[25] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_0_OFFSET);
- addr_hit[26] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_1_OFFSET);
- addr_hit[27] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_2_OFFSET);
- addr_hit[28] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_3_OFFSET);
- addr_hit[29] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_4_OFFSET);
- addr_hit[30] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_5_OFFSET);
- addr_hit[31] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_6_OFFSET);
- addr_hit[32] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_7_OFFSET);
- addr_hit[33] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_8_OFFSET);
- addr_hit[34] = (reg_addr == FLASH_CTRL_BANK0_INFO0_REGWEN_9_OFFSET);
- addr_hit[35] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[36] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[37] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[38] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[39] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[40] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[41] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[42] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[43] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[44] = (reg_addr == FLASH_CTRL_BANK0_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[45] = (reg_addr == FLASH_CTRL_BANK0_INFO1_REGWEN_OFFSET);
- addr_hit[46] = (reg_addr == FLASH_CTRL_BANK0_INFO1_PAGE_CFG_OFFSET);
- addr_hit[47] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_0_OFFSET);
- addr_hit[48] = (reg_addr == FLASH_CTRL_BANK0_INFO2_REGWEN_1_OFFSET);
- addr_hit[49] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[50] = (reg_addr == FLASH_CTRL_BANK0_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[51] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_0_OFFSET);
- addr_hit[52] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_1_OFFSET);
- addr_hit[53] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_2_OFFSET);
- addr_hit[54] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_3_OFFSET);
- addr_hit[55] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_4_OFFSET);
- addr_hit[56] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_5_OFFSET);
- addr_hit[57] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_6_OFFSET);
- addr_hit[58] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_7_OFFSET);
- addr_hit[59] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_8_OFFSET);
- addr_hit[60] = (reg_addr == FLASH_CTRL_BANK1_INFO0_REGWEN_9_OFFSET);
- addr_hit[61] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_0_OFFSET);
- addr_hit[62] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_1_OFFSET);
- addr_hit[63] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_2_OFFSET);
- addr_hit[64] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_3_OFFSET);
- addr_hit[65] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_4_OFFSET);
- addr_hit[66] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_5_OFFSET);
- addr_hit[67] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_6_OFFSET);
- addr_hit[68] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_7_OFFSET);
- addr_hit[69] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_8_OFFSET);
- addr_hit[70] = (reg_addr == FLASH_CTRL_BANK1_INFO0_PAGE_CFG_9_OFFSET);
- addr_hit[71] = (reg_addr == FLASH_CTRL_BANK1_INFO1_REGWEN_OFFSET);
- addr_hit[72] = (reg_addr == FLASH_CTRL_BANK1_INFO1_PAGE_CFG_OFFSET);
- addr_hit[73] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_0_OFFSET);
- addr_hit[74] = (reg_addr == FLASH_CTRL_BANK1_INFO2_REGWEN_1_OFFSET);
- addr_hit[75] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_0_OFFSET);
- addr_hit[76] = (reg_addr == FLASH_CTRL_BANK1_INFO2_PAGE_CFG_1_OFFSET);
- addr_hit[77] = (reg_addr == FLASH_CTRL_BANK_CFG_REGWEN_OFFSET);
- addr_hit[78] = (reg_addr == FLASH_CTRL_MP_BANK_CFG_OFFSET);
- addr_hit[79] = (reg_addr == FLASH_CTRL_OP_STATUS_OFFSET);
- addr_hit[80] = (reg_addr == FLASH_CTRL_STATUS_OFFSET);
- addr_hit[81] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
- addr_hit[82] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
- addr_hit[83] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
- addr_hit[84] = (reg_addr == FLASH_CTRL_FIFO_RST_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_OFFSET);
+ addr_hit[83] = (reg_addr == FLASH_CTRL_ERR_ADDR_OFFSET);
+ addr_hit[84] = (reg_addr == FLASH_CTRL_ECC_ERR_ADDR_0_OFFSET);
+ addr_hit[85] = (reg_addr == FLASH_CTRL_ECC_ERR_ADDR_1_OFFSET);
+ addr_hit[86] = (reg_addr == FLASH_CTRL_PHY_ALERT_CFG_OFFSET);
+ addr_hit[87] = (reg_addr == FLASH_CTRL_PHY_STATUS_OFFSET);
+ addr_hit[88] = (reg_addr == FLASH_CTRL_SCRATCH_OFFSET);
+ addr_hit[89] = (reg_addr == FLASH_CTRL_FIFO_LVL_OFFSET);
+ addr_hit[90] = (reg_addr == FLASH_CTRL_FIFO_RST_OFFSET);
end
assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -10312,6 +10560,12 @@
if (addr_hit[82] && reg_we && (FLASH_CTRL_PERMIT[82] != (FLASH_CTRL_PERMIT[82] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[83] && reg_we && (FLASH_CTRL_PERMIT[83] != (FLASH_CTRL_PERMIT[83] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[84] && reg_we && (FLASH_CTRL_PERMIT[84] != (FLASH_CTRL_PERMIT[84] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[85] && reg_we && (FLASH_CTRL_PERMIT[85] != (FLASH_CTRL_PERMIT[85] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[86] && reg_we && (FLASH_CTRL_PERMIT[86] != (FLASH_CTRL_PERMIT[86] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[87] && reg_we && (FLASH_CTRL_PERMIT[87] != (FLASH_CTRL_PERMIT[87] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[88] && reg_we && (FLASH_CTRL_PERMIT[88] != (FLASH_CTRL_PERMIT[88] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[89] && reg_we && (FLASH_CTRL_PERMIT[89] != (FLASH_CTRL_PERMIT[89] & reg_be))) wr_err = 1'b1 ;
+ if (addr_hit[90] && reg_we && (FLASH_CTRL_PERMIT[90] != (FLASH_CTRL_PERMIT[90] & reg_be))) wr_err = 1'b1 ;
end
assign intr_state_prog_empty_we = addr_hit[0] & reg_we & ~wr_err;
@@ -10329,9 +10583,6 @@
assign intr_state_op_done_we = addr_hit[0] & reg_we & ~wr_err;
assign intr_state_op_done_wd = reg_wdata[4];
- assign intr_state_op_error_we = addr_hit[0] & reg_we & ~wr_err;
- assign intr_state_op_error_wd = reg_wdata[5];
-
assign intr_enable_prog_empty_we = addr_hit[1] & reg_we & ~wr_err;
assign intr_enable_prog_empty_wd = reg_wdata[0];
@@ -10347,9 +10598,6 @@
assign intr_enable_op_done_we = addr_hit[1] & reg_we & ~wr_err;
assign intr_enable_op_done_wd = reg_wdata[4];
- assign intr_enable_op_error_we = addr_hit[1] & reg_we & ~wr_err;
- assign intr_enable_op_error_wd = reg_wdata[5];
-
assign intr_test_prog_empty_we = addr_hit[2] & reg_we & ~wr_err;
assign intr_test_prog_empty_wd = reg_wdata[0];
@@ -10365,939 +10613,945 @@
assign intr_test_op_done_we = addr_hit[2] & reg_we & ~wr_err;
assign intr_test_op_done_wd = reg_wdata[4];
- assign intr_test_op_error_we = addr_hit[2] & reg_we & ~wr_err;
- assign intr_test_op_error_wd = reg_wdata[5];
+ assign alert_test_recov_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_err_wd = reg_wdata[0];
- assign ctrl_regwen_re = addr_hit[3] && reg_re;
+ assign alert_test_recov_mp_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_mp_err_wd = reg_wdata[1];
- assign control_start_we = addr_hit[4] & reg_we & ~wr_err;
+ assign alert_test_recov_ecc_err_we = addr_hit[3] & reg_we & ~wr_err;
+ assign alert_test_recov_ecc_err_wd = reg_wdata[2];
+
+ assign ctrl_regwen_re = addr_hit[4] && reg_re;
+
+ assign control_start_we = addr_hit[5] & reg_we & ~wr_err;
assign control_start_wd = reg_wdata[0];
- assign control_op_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_op_we = addr_hit[5] & reg_we & ~wr_err;
assign control_op_wd = reg_wdata[5:4];
- assign control_prog_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_prog_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_prog_sel_wd = reg_wdata[6];
- assign control_erase_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_erase_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_erase_sel_wd = reg_wdata[7];
- assign control_partition_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_partition_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_partition_sel_wd = reg_wdata[8];
- assign control_info_sel_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_info_sel_we = addr_hit[5] & reg_we & ~wr_err;
assign control_info_sel_wd = reg_wdata[10:9];
- assign control_num_we = addr_hit[4] & reg_we & ~wr_err;
+ assign control_num_we = addr_hit[5] & reg_we & ~wr_err;
assign control_num_wd = reg_wdata[27:16];
- assign addr_we = addr_hit[5] & reg_we & ~wr_err;
+ assign addr_we = addr_hit[6] & reg_we & ~wr_err;
assign addr_wd = reg_wdata[31:0];
- assign prog_type_en_normal_we = addr_hit[6] & reg_we & ~wr_err;
+ assign prog_type_en_normal_we = addr_hit[7] & reg_we & ~wr_err;
assign prog_type_en_normal_wd = reg_wdata[0];
- assign prog_type_en_repair_we = addr_hit[6] & reg_we & ~wr_err;
+ assign prog_type_en_repair_we = addr_hit[7] & reg_we & ~wr_err;
assign prog_type_en_repair_wd = reg_wdata[1];
- assign erase_suspend_we = addr_hit[7] & reg_we & ~wr_err;
+ assign erase_suspend_we = addr_hit[8] & reg_we & ~wr_err;
assign erase_suspend_wd = reg_wdata[0];
- assign region_cfg_regwen_0_we = addr_hit[8] & reg_we & ~wr_err;
+ assign region_cfg_regwen_0_we = addr_hit[9] & reg_we & ~wr_err;
assign region_cfg_regwen_0_wd = reg_wdata[0];
- assign region_cfg_regwen_1_we = addr_hit[9] & reg_we & ~wr_err;
+ assign region_cfg_regwen_1_we = addr_hit[10] & reg_we & ~wr_err;
assign region_cfg_regwen_1_wd = reg_wdata[0];
- assign region_cfg_regwen_2_we = addr_hit[10] & reg_we & ~wr_err;
+ assign region_cfg_regwen_2_we = addr_hit[11] & reg_we & ~wr_err;
assign region_cfg_regwen_2_wd = reg_wdata[0];
- assign region_cfg_regwen_3_we = addr_hit[11] & reg_we & ~wr_err;
+ assign region_cfg_regwen_3_we = addr_hit[12] & reg_we & ~wr_err;
assign region_cfg_regwen_3_wd = reg_wdata[0];
- assign region_cfg_regwen_4_we = addr_hit[12] & reg_we & ~wr_err;
+ assign region_cfg_regwen_4_we = addr_hit[13] & reg_we & ~wr_err;
assign region_cfg_regwen_4_wd = reg_wdata[0];
- assign region_cfg_regwen_5_we = addr_hit[13] & reg_we & ~wr_err;
+ assign region_cfg_regwen_5_we = addr_hit[14] & reg_we & ~wr_err;
assign region_cfg_regwen_5_wd = reg_wdata[0];
- assign region_cfg_regwen_6_we = addr_hit[14] & reg_we & ~wr_err;
+ assign region_cfg_regwen_6_we = addr_hit[15] & reg_we & ~wr_err;
assign region_cfg_regwen_6_wd = reg_wdata[0];
- assign region_cfg_regwen_7_we = addr_hit[15] & reg_we & ~wr_err;
+ assign region_cfg_regwen_7_we = addr_hit[16] & reg_we & ~wr_err;
assign region_cfg_regwen_7_wd = reg_wdata[0];
- assign mp_region_cfg_0_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_en_0_wd = reg_wdata[0];
- assign mp_region_cfg_0_rd_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_rd_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_rd_en_0_wd = reg_wdata[1];
- assign mp_region_cfg_0_prog_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_prog_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_prog_en_0_wd = reg_wdata[2];
- assign mp_region_cfg_0_erase_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_erase_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_erase_en_0_wd = reg_wdata[3];
- assign mp_region_cfg_0_scramble_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_scramble_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_scramble_en_0_wd = reg_wdata[4];
- assign mp_region_cfg_0_ecc_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_ecc_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_ecc_en_0_wd = reg_wdata[5];
- assign mp_region_cfg_0_he_en_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_he_en_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_he_en_0_wd = reg_wdata[6];
- assign mp_region_cfg_0_base_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_base_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_base_0_wd = reg_wdata[16:8];
- assign mp_region_cfg_0_size_0_we = addr_hit[16] & reg_we & ~wr_err;
+ assign mp_region_cfg_0_size_0_we = addr_hit[17] & reg_we & ~wr_err;
assign mp_region_cfg_0_size_0_wd = reg_wdata[26:17];
- assign mp_region_cfg_1_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_en_1_wd = reg_wdata[0];
- assign mp_region_cfg_1_rd_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_rd_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_rd_en_1_wd = reg_wdata[1];
- assign mp_region_cfg_1_prog_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_prog_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_prog_en_1_wd = reg_wdata[2];
- assign mp_region_cfg_1_erase_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_erase_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_erase_en_1_wd = reg_wdata[3];
- assign mp_region_cfg_1_scramble_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_scramble_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_scramble_en_1_wd = reg_wdata[4];
- assign mp_region_cfg_1_ecc_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_ecc_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_ecc_en_1_wd = reg_wdata[5];
- assign mp_region_cfg_1_he_en_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_he_en_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_he_en_1_wd = reg_wdata[6];
- assign mp_region_cfg_1_base_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_base_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_base_1_wd = reg_wdata[16:8];
- assign mp_region_cfg_1_size_1_we = addr_hit[17] & reg_we & ~wr_err;
+ assign mp_region_cfg_1_size_1_we = addr_hit[18] & reg_we & ~wr_err;
assign mp_region_cfg_1_size_1_wd = reg_wdata[26:17];
- assign mp_region_cfg_2_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_en_2_wd = reg_wdata[0];
- assign mp_region_cfg_2_rd_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_rd_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_rd_en_2_wd = reg_wdata[1];
- assign mp_region_cfg_2_prog_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_prog_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_prog_en_2_wd = reg_wdata[2];
- assign mp_region_cfg_2_erase_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_erase_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_erase_en_2_wd = reg_wdata[3];
- assign mp_region_cfg_2_scramble_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_scramble_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_scramble_en_2_wd = reg_wdata[4];
- assign mp_region_cfg_2_ecc_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_ecc_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_ecc_en_2_wd = reg_wdata[5];
- assign mp_region_cfg_2_he_en_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_he_en_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_he_en_2_wd = reg_wdata[6];
- assign mp_region_cfg_2_base_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_base_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_base_2_wd = reg_wdata[16:8];
- assign mp_region_cfg_2_size_2_we = addr_hit[18] & reg_we & ~wr_err;
+ assign mp_region_cfg_2_size_2_we = addr_hit[19] & reg_we & ~wr_err;
assign mp_region_cfg_2_size_2_wd = reg_wdata[26:17];
- assign mp_region_cfg_3_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_en_3_wd = reg_wdata[0];
- assign mp_region_cfg_3_rd_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_rd_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_rd_en_3_wd = reg_wdata[1];
- assign mp_region_cfg_3_prog_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_prog_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_prog_en_3_wd = reg_wdata[2];
- assign mp_region_cfg_3_erase_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_erase_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_erase_en_3_wd = reg_wdata[3];
- assign mp_region_cfg_3_scramble_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_scramble_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_scramble_en_3_wd = reg_wdata[4];
- assign mp_region_cfg_3_ecc_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_ecc_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_ecc_en_3_wd = reg_wdata[5];
- assign mp_region_cfg_3_he_en_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_he_en_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_he_en_3_wd = reg_wdata[6];
- assign mp_region_cfg_3_base_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_base_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_base_3_wd = reg_wdata[16:8];
- assign mp_region_cfg_3_size_3_we = addr_hit[19] & reg_we & ~wr_err;
+ assign mp_region_cfg_3_size_3_we = addr_hit[20] & reg_we & ~wr_err;
assign mp_region_cfg_3_size_3_wd = reg_wdata[26:17];
- assign mp_region_cfg_4_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_en_4_wd = reg_wdata[0];
- assign mp_region_cfg_4_rd_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_rd_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_rd_en_4_wd = reg_wdata[1];
- assign mp_region_cfg_4_prog_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_prog_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_prog_en_4_wd = reg_wdata[2];
- assign mp_region_cfg_4_erase_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_erase_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_erase_en_4_wd = reg_wdata[3];
- assign mp_region_cfg_4_scramble_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_scramble_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_scramble_en_4_wd = reg_wdata[4];
- assign mp_region_cfg_4_ecc_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_ecc_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_ecc_en_4_wd = reg_wdata[5];
- assign mp_region_cfg_4_he_en_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_he_en_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_he_en_4_wd = reg_wdata[6];
- assign mp_region_cfg_4_base_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_base_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_base_4_wd = reg_wdata[16:8];
- assign mp_region_cfg_4_size_4_we = addr_hit[20] & reg_we & ~wr_err;
+ assign mp_region_cfg_4_size_4_we = addr_hit[21] & reg_we & ~wr_err;
assign mp_region_cfg_4_size_4_wd = reg_wdata[26:17];
- assign mp_region_cfg_5_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_en_5_wd = reg_wdata[0];
- assign mp_region_cfg_5_rd_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_rd_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_rd_en_5_wd = reg_wdata[1];
- assign mp_region_cfg_5_prog_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_prog_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_prog_en_5_wd = reg_wdata[2];
- assign mp_region_cfg_5_erase_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_erase_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_erase_en_5_wd = reg_wdata[3];
- assign mp_region_cfg_5_scramble_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_scramble_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_scramble_en_5_wd = reg_wdata[4];
- assign mp_region_cfg_5_ecc_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_ecc_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_ecc_en_5_wd = reg_wdata[5];
- assign mp_region_cfg_5_he_en_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_he_en_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_he_en_5_wd = reg_wdata[6];
- assign mp_region_cfg_5_base_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_base_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_base_5_wd = reg_wdata[16:8];
- assign mp_region_cfg_5_size_5_we = addr_hit[21] & reg_we & ~wr_err;
+ assign mp_region_cfg_5_size_5_we = addr_hit[22] & reg_we & ~wr_err;
assign mp_region_cfg_5_size_5_wd = reg_wdata[26:17];
- assign mp_region_cfg_6_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_en_6_wd = reg_wdata[0];
- assign mp_region_cfg_6_rd_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_rd_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_rd_en_6_wd = reg_wdata[1];
- assign mp_region_cfg_6_prog_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_prog_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_prog_en_6_wd = reg_wdata[2];
- assign mp_region_cfg_6_erase_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_erase_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_erase_en_6_wd = reg_wdata[3];
- assign mp_region_cfg_6_scramble_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_scramble_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_scramble_en_6_wd = reg_wdata[4];
- assign mp_region_cfg_6_ecc_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_ecc_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_ecc_en_6_wd = reg_wdata[5];
- assign mp_region_cfg_6_he_en_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_he_en_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_he_en_6_wd = reg_wdata[6];
- assign mp_region_cfg_6_base_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_base_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_base_6_wd = reg_wdata[16:8];
- assign mp_region_cfg_6_size_6_we = addr_hit[22] & reg_we & ~wr_err;
+ assign mp_region_cfg_6_size_6_we = addr_hit[23] & reg_we & ~wr_err;
assign mp_region_cfg_6_size_6_wd = reg_wdata[26:17];
- assign mp_region_cfg_7_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_en_7_wd = reg_wdata[0];
- assign mp_region_cfg_7_rd_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_rd_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_rd_en_7_wd = reg_wdata[1];
- assign mp_region_cfg_7_prog_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_prog_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_prog_en_7_wd = reg_wdata[2];
- assign mp_region_cfg_7_erase_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_erase_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_erase_en_7_wd = reg_wdata[3];
- assign mp_region_cfg_7_scramble_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_scramble_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_scramble_en_7_wd = reg_wdata[4];
- assign mp_region_cfg_7_ecc_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_ecc_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_ecc_en_7_wd = reg_wdata[5];
- assign mp_region_cfg_7_he_en_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_he_en_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_he_en_7_wd = reg_wdata[6];
- assign mp_region_cfg_7_base_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_base_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_base_7_wd = reg_wdata[16:8];
- assign mp_region_cfg_7_size_7_we = addr_hit[23] & reg_we & ~wr_err;
+ assign mp_region_cfg_7_size_7_we = addr_hit[24] & reg_we & ~wr_err;
assign mp_region_cfg_7_size_7_wd = reg_wdata[26:17];
- assign default_region_rd_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_rd_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_rd_en_wd = reg_wdata[0];
- assign default_region_prog_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_prog_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_prog_en_wd = reg_wdata[1];
- assign default_region_erase_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_erase_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_erase_en_wd = reg_wdata[2];
- assign default_region_scramble_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_scramble_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_scramble_en_wd = reg_wdata[3];
- assign default_region_ecc_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_ecc_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_ecc_en_wd = reg_wdata[4];
- assign default_region_he_en_we = addr_hit[24] & reg_we & ~wr_err;
+ assign default_region_he_en_we = addr_hit[25] & reg_we & ~wr_err;
assign default_region_he_en_wd = reg_wdata[5];
- assign bank0_info0_regwen_0_we = addr_hit[25] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_0_we = addr_hit[26] & reg_we & ~wr_err;
assign bank0_info0_regwen_0_wd = reg_wdata[0];
- assign bank0_info0_regwen_1_we = addr_hit[26] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_1_we = addr_hit[27] & reg_we & ~wr_err;
assign bank0_info0_regwen_1_wd = reg_wdata[0];
- assign bank0_info0_regwen_2_we = addr_hit[27] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_2_we = addr_hit[28] & reg_we & ~wr_err;
assign bank0_info0_regwen_2_wd = reg_wdata[0];
- assign bank0_info0_regwen_3_we = addr_hit[28] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_3_we = addr_hit[29] & reg_we & ~wr_err;
assign bank0_info0_regwen_3_wd = reg_wdata[0];
- assign bank0_info0_regwen_4_we = addr_hit[29] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_4_we = addr_hit[30] & reg_we & ~wr_err;
assign bank0_info0_regwen_4_wd = reg_wdata[0];
- assign bank0_info0_regwen_5_we = addr_hit[30] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_5_we = addr_hit[31] & reg_we & ~wr_err;
assign bank0_info0_regwen_5_wd = reg_wdata[0];
- assign bank0_info0_regwen_6_we = addr_hit[31] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_6_we = addr_hit[32] & reg_we & ~wr_err;
assign bank0_info0_regwen_6_wd = reg_wdata[0];
- assign bank0_info0_regwen_7_we = addr_hit[32] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_7_we = addr_hit[33] & reg_we & ~wr_err;
assign bank0_info0_regwen_7_wd = reg_wdata[0];
- assign bank0_info0_regwen_8_we = addr_hit[33] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_8_we = addr_hit[34] & reg_we & ~wr_err;
assign bank0_info0_regwen_8_wd = reg_wdata[0];
- assign bank0_info0_regwen_9_we = addr_hit[34] & reg_we & ~wr_err;
+ assign bank0_info0_regwen_9_we = addr_hit[35] & reg_we & ~wr_err;
assign bank0_info0_regwen_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_en_0_we = addr_hit[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_en_0_we = addr_hit[36] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_rd_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_prog_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_erase_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_scramble_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_ecc_en_0_we = addr_hit[36] & reg_we & ~wr_err;
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[35] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_0_he_en_0_we = addr_hit[36] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_1_en_1_we = addr_hit[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_en_1_we = addr_hit[37] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_rd_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_prog_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_erase_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_scramble_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_ecc_en_1_we = addr_hit[37] & reg_we & ~wr_err;
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[36] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_1_he_en_1_we = addr_hit[37] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_2_en_2_we = addr_hit[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_en_2_we = addr_hit[38] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_rd_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_prog_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_erase_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_scramble_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_ecc_en_2_we = addr_hit[38] & reg_we & ~wr_err;
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[37] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_2_he_en_2_we = addr_hit[38] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_3_en_3_we = addr_hit[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_en_3_we = addr_hit[39] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_rd_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_prog_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_erase_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_scramble_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_ecc_en_3_we = addr_hit[39] & reg_we & ~wr_err;
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[38] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_3_he_en_3_we = addr_hit[39] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_4_en_4_we = addr_hit[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_en_4_we = addr_hit[40] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_rd_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_prog_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_erase_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_scramble_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_ecc_en_4_we = addr_hit[40] & reg_we & ~wr_err;
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[39] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_4_he_en_4_we = addr_hit[40] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_5_en_5_we = addr_hit[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_en_5_we = addr_hit[41] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_rd_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_prog_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_erase_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_scramble_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_ecc_en_5_we = addr_hit[41] & reg_we & ~wr_err;
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[40] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_5_he_en_5_we = addr_hit[41] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_6_en_6_we = addr_hit[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_en_6_we = addr_hit[42] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_rd_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_prog_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_erase_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_scramble_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_ecc_en_6_we = addr_hit[42] & reg_we & ~wr_err;
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[41] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_6_he_en_6_we = addr_hit[42] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_7_en_7_we = addr_hit[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_en_7_we = addr_hit[43] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_rd_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_prog_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_erase_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_scramble_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_ecc_en_7_we = addr_hit[43] & reg_we & ~wr_err;
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[42] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_7_he_en_7_we = addr_hit[43] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_8_en_8_we = addr_hit[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_en_8_we = addr_hit[44] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_rd_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_prog_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_erase_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_scramble_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_ecc_en_8_we = addr_hit[44] & reg_we & ~wr_err;
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[43] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_8_he_en_8_we = addr_hit[44] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank0_info0_page_cfg_9_en_9_we = addr_hit[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_en_9_we = addr_hit[45] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_rd_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_prog_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_erase_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_scramble_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_ecc_en_9_we = addr_hit[45] & reg_we & ~wr_err;
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[44] & reg_we & ~wr_err;
+ assign bank0_info0_page_cfg_9_he_en_9_we = addr_hit[45] & reg_we & ~wr_err;
assign bank0_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank0_info1_regwen_we = addr_hit[45] & reg_we & ~wr_err;
+ assign bank0_info1_regwen_we = addr_hit[46] & reg_we & ~wr_err;
assign bank0_info1_regwen_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_rd_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_prog_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_erase_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_scramble_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_ecc_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank0_info1_page_cfg_he_en_0_we = addr_hit[46] & reg_we & ~wr_err;
+ assign bank0_info1_page_cfg_he_en_0_we = addr_hit[47] & reg_we & ~wr_err;
assign bank0_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_regwen_0_we = addr_hit[47] & reg_we & ~wr_err;
+ assign bank0_info2_regwen_0_we = addr_hit[48] & reg_we & ~wr_err;
assign bank0_info2_regwen_0_wd = reg_wdata[0];
- assign bank0_info2_regwen_1_we = addr_hit[48] & reg_we & ~wr_err;
+ assign bank0_info2_regwen_1_we = addr_hit[49] & reg_we & ~wr_err;
assign bank0_info2_regwen_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_en_0_we = addr_hit[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_en_0_we = addr_hit[50] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_rd_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_prog_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_erase_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_scramble_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_ecc_en_0_we = addr_hit[50] & reg_we & ~wr_err;
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[49] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_0_he_en_0_we = addr_hit[50] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank0_info2_page_cfg_1_en_1_we = addr_hit[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_en_1_we = addr_hit[51] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_rd_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_prog_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_erase_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_scramble_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_ecc_en_1_we = addr_hit[51] & reg_we & ~wr_err;
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[50] & reg_we & ~wr_err;
+ assign bank0_info2_page_cfg_1_he_en_1_we = addr_hit[51] & reg_we & ~wr_err;
assign bank0_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_regwen_0_we = addr_hit[51] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_0_we = addr_hit[52] & reg_we & ~wr_err;
assign bank1_info0_regwen_0_wd = reg_wdata[0];
- assign bank1_info0_regwen_1_we = addr_hit[52] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_1_we = addr_hit[53] & reg_we & ~wr_err;
assign bank1_info0_regwen_1_wd = reg_wdata[0];
- assign bank1_info0_regwen_2_we = addr_hit[53] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_2_we = addr_hit[54] & reg_we & ~wr_err;
assign bank1_info0_regwen_2_wd = reg_wdata[0];
- assign bank1_info0_regwen_3_we = addr_hit[54] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_3_we = addr_hit[55] & reg_we & ~wr_err;
assign bank1_info0_regwen_3_wd = reg_wdata[0];
- assign bank1_info0_regwen_4_we = addr_hit[55] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_4_we = addr_hit[56] & reg_we & ~wr_err;
assign bank1_info0_regwen_4_wd = reg_wdata[0];
- assign bank1_info0_regwen_5_we = addr_hit[56] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_5_we = addr_hit[57] & reg_we & ~wr_err;
assign bank1_info0_regwen_5_wd = reg_wdata[0];
- assign bank1_info0_regwen_6_we = addr_hit[57] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_6_we = addr_hit[58] & reg_we & ~wr_err;
assign bank1_info0_regwen_6_wd = reg_wdata[0];
- assign bank1_info0_regwen_7_we = addr_hit[58] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_7_we = addr_hit[59] & reg_we & ~wr_err;
assign bank1_info0_regwen_7_wd = reg_wdata[0];
- assign bank1_info0_regwen_8_we = addr_hit[59] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_8_we = addr_hit[60] & reg_we & ~wr_err;
assign bank1_info0_regwen_8_wd = reg_wdata[0];
- assign bank1_info0_regwen_9_we = addr_hit[60] & reg_we & ~wr_err;
+ assign bank1_info0_regwen_9_we = addr_hit[61] & reg_we & ~wr_err;
assign bank1_info0_regwen_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_en_0_we = addr_hit[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_en_0_we = addr_hit[62] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_rd_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_prog_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_erase_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_scramble_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_ecc_en_0_we = addr_hit[62] & reg_we & ~wr_err;
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[61] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_0_he_en_0_we = addr_hit[62] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_1_en_1_we = addr_hit[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_en_1_we = addr_hit[63] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_rd_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_prog_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_erase_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_scramble_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_ecc_en_1_we = addr_hit[63] & reg_we & ~wr_err;
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[62] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_1_he_en_1_we = addr_hit[63] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_2_en_2_we = addr_hit[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_en_2_we = addr_hit[64] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_2_en_2_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_rd_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_prog_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_erase_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_scramble_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_ecc_en_2_we = addr_hit[64] & reg_we & ~wr_err;
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[63] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_2_he_en_2_we = addr_hit[64] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_2_he_en_2_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_3_en_3_we = addr_hit[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_en_3_we = addr_hit[65] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_3_en_3_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_rd_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_prog_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_erase_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_scramble_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_ecc_en_3_we = addr_hit[65] & reg_we & ~wr_err;
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[64] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_3_he_en_3_we = addr_hit[65] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_3_he_en_3_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_4_en_4_we = addr_hit[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_en_4_we = addr_hit[66] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_4_en_4_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_rd_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_prog_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_erase_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_scramble_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_ecc_en_4_we = addr_hit[66] & reg_we & ~wr_err;
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[65] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_4_he_en_4_we = addr_hit[66] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_4_he_en_4_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_5_en_5_we = addr_hit[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_en_5_we = addr_hit[67] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_5_en_5_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_rd_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_prog_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_erase_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_scramble_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_ecc_en_5_we = addr_hit[67] & reg_we & ~wr_err;
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[66] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_5_he_en_5_we = addr_hit[67] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_5_he_en_5_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_6_en_6_we = addr_hit[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_en_6_we = addr_hit[68] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_6_en_6_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_rd_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_prog_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_erase_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_scramble_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_ecc_en_6_we = addr_hit[68] & reg_we & ~wr_err;
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[67] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_6_he_en_6_we = addr_hit[68] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_6_he_en_6_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_7_en_7_we = addr_hit[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_en_7_we = addr_hit[69] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_7_en_7_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_rd_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_prog_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_erase_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_scramble_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_ecc_en_7_we = addr_hit[69] & reg_we & ~wr_err;
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[68] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_7_he_en_7_we = addr_hit[69] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_7_he_en_7_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_8_en_8_we = addr_hit[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_en_8_we = addr_hit[70] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_8_en_8_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_rd_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_prog_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_erase_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_scramble_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_ecc_en_8_we = addr_hit[70] & reg_we & ~wr_err;
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[69] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_8_he_en_8_we = addr_hit[70] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_8_he_en_8_wd = reg_wdata[6];
- assign bank1_info0_page_cfg_9_en_9_we = addr_hit[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_en_9_we = addr_hit[71] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_9_en_9_wd = reg_wdata[0];
- assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_rd_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_prog_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_erase_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_scramble_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_ecc_en_9_we = addr_hit[71] & reg_we & ~wr_err;
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[70] & reg_we & ~wr_err;
+ assign bank1_info0_page_cfg_9_he_en_9_we = addr_hit[71] & reg_we & ~wr_err;
assign bank1_info0_page_cfg_9_he_en_9_wd = reg_wdata[6];
- assign bank1_info1_regwen_we = addr_hit[71] & reg_we & ~wr_err;
+ assign bank1_info1_regwen_we = addr_hit[72] & reg_we & ~wr_err;
assign bank1_info1_regwen_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_en_0_wd = reg_wdata[0];
- assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_rd_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_rd_en_0_wd = reg_wdata[1];
- assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_prog_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_prog_en_0_wd = reg_wdata[2];
- assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_erase_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_erase_en_0_wd = reg_wdata[3];
- assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_scramble_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_scramble_en_0_wd = reg_wdata[4];
- assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_ecc_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_ecc_en_0_wd = reg_wdata[5];
- assign bank1_info1_page_cfg_he_en_0_we = addr_hit[72] & reg_we & ~wr_err;
+ assign bank1_info1_page_cfg_he_en_0_we = addr_hit[73] & reg_we & ~wr_err;
assign bank1_info1_page_cfg_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_regwen_0_we = addr_hit[73] & reg_we & ~wr_err;
+ assign bank1_info2_regwen_0_we = addr_hit[74] & reg_we & ~wr_err;
assign bank1_info2_regwen_0_wd = reg_wdata[0];
- assign bank1_info2_regwen_1_we = addr_hit[74] & reg_we & ~wr_err;
+ assign bank1_info2_regwen_1_we = addr_hit[75] & reg_we & ~wr_err;
assign bank1_info2_regwen_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_en_0_we = addr_hit[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_en_0_we = addr_hit[76] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_0_en_0_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_rd_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_prog_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_erase_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_scramble_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_ecc_en_0_we = addr_hit[76] & reg_we & ~wr_err;
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[75] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_0_he_en_0_we = addr_hit[76] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_0_he_en_0_wd = reg_wdata[6];
- assign bank1_info2_page_cfg_1_en_1_we = addr_hit[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_en_1_we = addr_hit[77] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_1_en_1_wd = reg_wdata[0];
- assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_rd_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_prog_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_erase_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_scramble_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_ecc_en_1_we = addr_hit[77] & reg_we & ~wr_err;
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[76] & reg_we & ~wr_err;
+ assign bank1_info2_page_cfg_1_he_en_1_we = addr_hit[77] & reg_we & ~wr_err;
assign bank1_info2_page_cfg_1_he_en_1_wd = reg_wdata[6];
- assign bank_cfg_regwen_we = addr_hit[77] & reg_we & ~wr_err;
+ assign bank_cfg_regwen_we = addr_hit[78] & reg_we & ~wr_err;
assign bank_cfg_regwen_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_0_we = addr_hit[78] & reg_we & ~wr_err;
+ assign mp_bank_cfg_erase_en_0_we = addr_hit[79] & reg_we & ~wr_err;
assign mp_bank_cfg_erase_en_0_wd = reg_wdata[0];
- assign mp_bank_cfg_erase_en_1_we = addr_hit[78] & reg_we & ~wr_err;
+ assign mp_bank_cfg_erase_en_1_we = addr_hit[79] & reg_we & ~wr_err;
assign mp_bank_cfg_erase_en_1_wd = reg_wdata[1];
- assign op_status_done_we = addr_hit[79] & reg_we & ~wr_err;
+ assign op_status_done_we = addr_hit[80] & reg_we & ~wr_err;
assign op_status_done_wd = reg_wdata[0];
- assign op_status_err_we = addr_hit[79] & reg_we & ~wr_err;
+ assign op_status_err_we = addr_hit[80] & reg_we & ~wr_err;
assign op_status_err_wd = reg_wdata[1];
@@ -11305,20 +11559,43 @@
+ assign err_code_flash_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_flash_err_wd = reg_wdata[0];
+
+ assign err_code_flash_alert_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_flash_alert_wd = reg_wdata[1];
+
+ assign err_code_mp_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_mp_err_wd = reg_wdata[2];
+
+ assign err_code_ecc_single_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_ecc_single_err_wd = reg_wdata[3];
+
+ assign err_code_ecc_multi_err_we = addr_hit[82] & reg_we & ~wr_err;
+ assign err_code_ecc_multi_err_wd = reg_wdata[4];
- assign scratch_we = addr_hit[82] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_ack_we = addr_hit[86] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_ack_wd = reg_wdata[0];
+
+ assign phy_alert_cfg_alert_trig_we = addr_hit[86] & reg_we & ~wr_err;
+ assign phy_alert_cfg_alert_trig_wd = reg_wdata[1];
+
+
+
+
+ assign scratch_we = addr_hit[88] & reg_we & ~wr_err;
assign scratch_wd = reg_wdata[31:0];
- assign fifo_lvl_prog_we = addr_hit[83] & reg_we & ~wr_err;
+ assign fifo_lvl_prog_we = addr_hit[89] & reg_we & ~wr_err;
assign fifo_lvl_prog_wd = reg_wdata[4:0];
- assign fifo_lvl_rd_we = addr_hit[83] & reg_we & ~wr_err;
+ assign fifo_lvl_rd_we = addr_hit[89] & reg_we & ~wr_err;
assign fifo_lvl_rd_wd = reg_wdata[12:8];
- assign fifo_rst_we = addr_hit[84] & reg_we & ~wr_err;
+ assign fifo_rst_we = addr_hit[90] & reg_we & ~wr_err;
assign fifo_rst_wd = reg_wdata[0];
// Read data return
@@ -11331,7 +11608,6 @@
reg_rdata_next[2] = intr_state_rd_full_qs;
reg_rdata_next[3] = intr_state_rd_lvl_qs;
reg_rdata_next[4] = intr_state_op_done_qs;
- reg_rdata_next[5] = intr_state_op_error_qs;
end
addr_hit[1]: begin
@@ -11340,7 +11616,6 @@
reg_rdata_next[2] = intr_enable_rd_full_qs;
reg_rdata_next[3] = intr_enable_rd_lvl_qs;
reg_rdata_next[4] = intr_enable_op_done_qs;
- reg_rdata_next[5] = intr_enable_op_error_qs;
end
addr_hit[2]: begin
@@ -11349,14 +11624,19 @@
reg_rdata_next[2] = '0;
reg_rdata_next[3] = '0;
reg_rdata_next[4] = '0;
- reg_rdata_next[5] = '0;
end
addr_hit[3]: begin
- reg_rdata_next[0] = ctrl_regwen_qs;
+ reg_rdata_next[0] = '0;
+ reg_rdata_next[1] = '0;
+ reg_rdata_next[2] = '0;
end
addr_hit[4]: begin
+ reg_rdata_next[0] = ctrl_regwen_qs;
+ end
+
+ addr_hit[5]: begin
reg_rdata_next[0] = control_start_qs;
reg_rdata_next[5:4] = control_op_qs;
reg_rdata_next[6] = control_prog_sel_qs;
@@ -11366,52 +11646,52 @@
reg_rdata_next[27:16] = control_num_qs;
end
- addr_hit[5]: begin
+ addr_hit[6]: begin
reg_rdata_next[31:0] = addr_qs;
end
- addr_hit[6]: begin
+ addr_hit[7]: begin
reg_rdata_next[0] = prog_type_en_normal_qs;
reg_rdata_next[1] = prog_type_en_repair_qs;
end
- addr_hit[7]: begin
+ addr_hit[8]: begin
reg_rdata_next[0] = erase_suspend_qs;
end
- addr_hit[8]: begin
+ addr_hit[9]: begin
reg_rdata_next[0] = region_cfg_regwen_0_qs;
end
- addr_hit[9]: begin
+ addr_hit[10]: begin
reg_rdata_next[0] = region_cfg_regwen_1_qs;
end
- addr_hit[10]: begin
+ addr_hit[11]: begin
reg_rdata_next[0] = region_cfg_regwen_2_qs;
end
- addr_hit[11]: begin
+ addr_hit[12]: begin
reg_rdata_next[0] = region_cfg_regwen_3_qs;
end
- addr_hit[12]: begin
+ addr_hit[13]: begin
reg_rdata_next[0] = region_cfg_regwen_4_qs;
end
- addr_hit[13]: begin
+ addr_hit[14]: begin
reg_rdata_next[0] = region_cfg_regwen_5_qs;
end
- addr_hit[14]: begin
+ addr_hit[15]: begin
reg_rdata_next[0] = region_cfg_regwen_6_qs;
end
- addr_hit[15]: begin
+ addr_hit[16]: begin
reg_rdata_next[0] = region_cfg_regwen_7_qs;
end
- addr_hit[16]: begin
+ addr_hit[17]: 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;
@@ -11423,7 +11703,7 @@
reg_rdata_next[26:17] = mp_region_cfg_0_size_0_qs;
end
- addr_hit[17]: begin
+ addr_hit[18]: 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;
@@ -11435,7 +11715,7 @@
reg_rdata_next[26:17] = mp_region_cfg_1_size_1_qs;
end
- addr_hit[18]: begin
+ addr_hit[19]: 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;
@@ -11447,7 +11727,7 @@
reg_rdata_next[26:17] = mp_region_cfg_2_size_2_qs;
end
- addr_hit[19]: begin
+ addr_hit[20]: 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;
@@ -11459,7 +11739,7 @@
reg_rdata_next[26:17] = mp_region_cfg_3_size_3_qs;
end
- addr_hit[20]: begin
+ addr_hit[21]: 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;
@@ -11471,7 +11751,7 @@
reg_rdata_next[26:17] = mp_region_cfg_4_size_4_qs;
end
- addr_hit[21]: begin
+ addr_hit[22]: 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;
@@ -11483,7 +11763,7 @@
reg_rdata_next[26:17] = mp_region_cfg_5_size_5_qs;
end
- addr_hit[22]: begin
+ addr_hit[23]: 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;
@@ -11495,7 +11775,7 @@
reg_rdata_next[26:17] = mp_region_cfg_6_size_6_qs;
end
- addr_hit[23]: begin
+ addr_hit[24]: 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;
@@ -11507,7 +11787,7 @@
reg_rdata_next[26:17] = mp_region_cfg_7_size_7_qs;
end
- addr_hit[24]: begin
+ addr_hit[25]: 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;
@@ -11516,47 +11796,47 @@
reg_rdata_next[5] = default_region_he_en_qs;
end
- addr_hit[25]: begin
+ addr_hit[26]: begin
reg_rdata_next[0] = bank0_info0_regwen_0_qs;
end
- addr_hit[26]: begin
+ addr_hit[27]: begin
reg_rdata_next[0] = bank0_info0_regwen_1_qs;
end
- addr_hit[27]: begin
+ addr_hit[28]: begin
reg_rdata_next[0] = bank0_info0_regwen_2_qs;
end
- addr_hit[28]: begin
+ addr_hit[29]: begin
reg_rdata_next[0] = bank0_info0_regwen_3_qs;
end
- addr_hit[29]: begin
+ addr_hit[30]: begin
reg_rdata_next[0] = bank0_info0_regwen_4_qs;
end
- addr_hit[30]: begin
+ addr_hit[31]: begin
reg_rdata_next[0] = bank0_info0_regwen_5_qs;
end
- addr_hit[31]: begin
+ addr_hit[32]: begin
reg_rdata_next[0] = bank0_info0_regwen_6_qs;
end
- addr_hit[32]: begin
+ addr_hit[33]: begin
reg_rdata_next[0] = bank0_info0_regwen_7_qs;
end
- addr_hit[33]: begin
+ addr_hit[34]: begin
reg_rdata_next[0] = bank0_info0_regwen_8_qs;
end
- addr_hit[34]: begin
+ addr_hit[35]: begin
reg_rdata_next[0] = bank0_info0_regwen_9_qs;
end
- addr_hit[35]: begin
+ addr_hit[36]: 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;
@@ -11566,7 +11846,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[36]: begin
+ addr_hit[37]: 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;
@@ -11576,7 +11856,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[37]: begin
+ addr_hit[38]: 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;
@@ -11586,7 +11866,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[38]: begin
+ addr_hit[39]: 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;
@@ -11596,7 +11876,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[39]: begin
+ addr_hit[40]: 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;
@@ -11606,7 +11886,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[40]: begin
+ addr_hit[41]: 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;
@@ -11616,7 +11896,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[41]: begin
+ addr_hit[42]: 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;
@@ -11626,7 +11906,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[42]: begin
+ addr_hit[43]: 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;
@@ -11636,7 +11916,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[43]: begin
+ addr_hit[44]: 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;
@@ -11646,7 +11926,7 @@
reg_rdata_next[6] = bank0_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[44]: begin
+ addr_hit[45]: 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;
@@ -11656,11 +11936,11 @@
reg_rdata_next[6] = bank0_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[45]: begin
+ addr_hit[46]: begin
reg_rdata_next[0] = bank0_info1_regwen_qs;
end
- addr_hit[46]: begin
+ addr_hit[47]: 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;
@@ -11670,15 +11950,15 @@
reg_rdata_next[6] = bank0_info1_page_cfg_he_en_0_qs;
end
- addr_hit[47]: begin
+ addr_hit[48]: begin
reg_rdata_next[0] = bank0_info2_regwen_0_qs;
end
- addr_hit[48]: begin
+ addr_hit[49]: begin
reg_rdata_next[0] = bank0_info2_regwen_1_qs;
end
- addr_hit[49]: begin
+ addr_hit[50]: 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;
@@ -11688,7 +11968,7 @@
reg_rdata_next[6] = bank0_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[50]: begin
+ addr_hit[51]: 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;
@@ -11698,47 +11978,47 @@
reg_rdata_next[6] = bank0_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[51]: begin
+ addr_hit[52]: begin
reg_rdata_next[0] = bank1_info0_regwen_0_qs;
end
- addr_hit[52]: begin
+ addr_hit[53]: begin
reg_rdata_next[0] = bank1_info0_regwen_1_qs;
end
- addr_hit[53]: begin
+ addr_hit[54]: begin
reg_rdata_next[0] = bank1_info0_regwen_2_qs;
end
- addr_hit[54]: begin
+ addr_hit[55]: begin
reg_rdata_next[0] = bank1_info0_regwen_3_qs;
end
- addr_hit[55]: begin
+ addr_hit[56]: begin
reg_rdata_next[0] = bank1_info0_regwen_4_qs;
end
- addr_hit[56]: begin
+ addr_hit[57]: begin
reg_rdata_next[0] = bank1_info0_regwen_5_qs;
end
- addr_hit[57]: begin
+ addr_hit[58]: begin
reg_rdata_next[0] = bank1_info0_regwen_6_qs;
end
- addr_hit[58]: begin
+ addr_hit[59]: begin
reg_rdata_next[0] = bank1_info0_regwen_7_qs;
end
- addr_hit[59]: begin
+ addr_hit[60]: begin
reg_rdata_next[0] = bank1_info0_regwen_8_qs;
end
- addr_hit[60]: begin
+ addr_hit[61]: begin
reg_rdata_next[0] = bank1_info0_regwen_9_qs;
end
- addr_hit[61]: begin
+ addr_hit[62]: 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;
@@ -11748,7 +12028,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_0_he_en_0_qs;
end
- addr_hit[62]: begin
+ addr_hit[63]: 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;
@@ -11758,7 +12038,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_1_he_en_1_qs;
end
- addr_hit[63]: begin
+ addr_hit[64]: 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;
@@ -11768,7 +12048,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_2_he_en_2_qs;
end
- addr_hit[64]: begin
+ addr_hit[65]: 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;
@@ -11778,7 +12058,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_3_he_en_3_qs;
end
- addr_hit[65]: begin
+ addr_hit[66]: 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;
@@ -11788,7 +12068,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_4_he_en_4_qs;
end
- addr_hit[66]: begin
+ addr_hit[67]: 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;
@@ -11798,7 +12078,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_5_he_en_5_qs;
end
- addr_hit[67]: begin
+ addr_hit[68]: 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;
@@ -11808,7 +12088,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_6_he_en_6_qs;
end
- addr_hit[68]: begin
+ addr_hit[69]: 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;
@@ -11818,7 +12098,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_7_he_en_7_qs;
end
- addr_hit[69]: begin
+ addr_hit[70]: 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;
@@ -11828,7 +12108,7 @@
reg_rdata_next[6] = bank1_info0_page_cfg_8_he_en_8_qs;
end
- addr_hit[70]: begin
+ addr_hit[71]: 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;
@@ -11838,11 +12118,11 @@
reg_rdata_next[6] = bank1_info0_page_cfg_9_he_en_9_qs;
end
- addr_hit[71]: begin
+ addr_hit[72]: begin
reg_rdata_next[0] = bank1_info1_regwen_qs;
end
- addr_hit[72]: begin
+ addr_hit[73]: 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;
@@ -11852,15 +12132,15 @@
reg_rdata_next[6] = bank1_info1_page_cfg_he_en_0_qs;
end
- addr_hit[73]: begin
+ addr_hit[74]: begin
reg_rdata_next[0] = bank1_info2_regwen_0_qs;
end
- addr_hit[74]: begin
+ addr_hit[75]: begin
reg_rdata_next[0] = bank1_info2_regwen_1_qs;
end
- addr_hit[75]: begin
+ addr_hit[76]: 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;
@@ -11870,7 +12150,7 @@
reg_rdata_next[6] = bank1_info2_page_cfg_0_he_en_0_qs;
end
- addr_hit[76]: begin
+ addr_hit[77]: 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;
@@ -11880,45 +12160,69 @@
reg_rdata_next[6] = bank1_info2_page_cfg_1_he_en_1_qs;
end
- addr_hit[77]: begin
+ addr_hit[78]: begin
reg_rdata_next[0] = bank_cfg_regwen_qs;
end
- addr_hit[78]: begin
+ addr_hit[79]: 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[79]: begin
+ addr_hit[80]: begin
reg_rdata_next[0] = op_status_done_qs;
reg_rdata_next[1] = op_status_err_qs;
end
- addr_hit[80]: begin
+ addr_hit[81]: 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;
reg_rdata_next[3] = status_prog_empty_qs;
reg_rdata_next[4] = status_init_wip_qs;
- reg_rdata_next[16:8] = status_error_addr_qs;
end
- addr_hit[81]: begin
+ addr_hit[82]: 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;
+ reg_rdata_next[3] = err_code_ecc_single_err_qs;
+ reg_rdata_next[4] = err_code_ecc_multi_err_qs;
+ end
+
+ addr_hit[83]: begin
+ reg_rdata_next[8:0] = err_addr_qs;
+ end
+
+ addr_hit[84]: begin
+ reg_rdata_next[19:0] = ecc_err_addr_0_qs;
+ end
+
+ addr_hit[85]: begin
+ reg_rdata_next[19:0] = ecc_err_addr_1_qs;
+ end
+
+ addr_hit[86]: begin
+ reg_rdata_next[0] = phy_alert_cfg_alert_ack_qs;
+ reg_rdata_next[1] = phy_alert_cfg_alert_trig_qs;
+ end
+
+ addr_hit[87]: 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[82]: begin
+ addr_hit[88]: begin
reg_rdata_next[31:0] = scratch_qs;
end
- addr_hit[83]: begin
+ addr_hit[89]: begin
reg_rdata_next[4:0] = fifo_lvl_prog_qs;
reg_rdata_next[12:8] = fifo_lvl_rd_qs;
end
- addr_hit[84]: begin
+ addr_hit[90]: begin
reg_rdata_next[0] = fifo_rst_qs;
end
diff --git a/hw/top_earlgrey/ip/rv_plic/data/autogen/rv_plic.hjson b/hw/top_earlgrey/ip/rv_plic/data/autogen/rv_plic.hjson
index 86ab76b..5e786a5 100644
--- a/hw/top_earlgrey/ip/rv_plic/data/autogen/rv_plic.hjson
+++ b/hw/top_earlgrey/ip/rv_plic/data/autogen/rv_plic.hjson
@@ -25,7 +25,7 @@
{ name: "NumSrc",
desc: "Number of interrupt sources",
type: "int",
- default: "123",
+ default: "122",
local: "true"
},
{ name: "NumTarget",
@@ -1045,14 +1045,6 @@
{ bits: "1:0" }
],
}
- { name: "PRIO122",
- desc: "Interrupt Source 122 Priority",
- swaccess: "rw",
- hwaccess: "hro",
- fields: [
- { bits: "1:0" }
- ],
- }
{ skipto: "768" }
{ multireg: {
name: "IE0",
diff --git a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic.sv b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic.sv
index f03bf33..db7b0a9 100644
--- a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic.sv
+++ b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic.sv
@@ -216,12 +216,11 @@
assign prio[119] = reg2hw.prio119.q;
assign prio[120] = reg2hw.prio120.q;
assign prio[121] = reg2hw.prio121.q;
- assign prio[122] = reg2hw.prio122.q;
//////////////////////
// Interrupt Enable //
//////////////////////
- for (genvar s = 0; s < 123; s++) begin : gen_ie0
+ for (genvar s = 0; s < 122; s++) begin : gen_ie0
assign ie[0][s] = reg2hw.ie0[s].q;
end
@@ -247,7 +246,7 @@
////////
// IP //
////////
- for (genvar s = 0; s < 123; s++) begin : gen_ip
+ for (genvar s = 0; s < 122; s++) begin : gen_ip
assign hw2reg.ip[s].de = 1'b1; // Always write
assign hw2reg.ip[s].d = ip[s];
end
@@ -255,7 +254,7 @@
///////////////////////////////////
// Detection:: 0: Level, 1: Edge //
///////////////////////////////////
- for (genvar s = 0; s < 123; s++) begin : gen_le
+ for (genvar s = 0; s < 122; s++) begin : gen_le
assign le[s] = reg2hw.le[s].q;
end
diff --git a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_pkg.sv b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_pkg.sv
index 3eb1881..9093fa7 100644
--- a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_pkg.sv
@@ -7,7 +7,7 @@
package rv_plic_reg_pkg;
// Param list
- parameter int NumSrc = 123;
+ parameter int NumSrc = 122;
parameter int NumTarget = 1;
parameter int PrioWidth = 2;
@@ -510,10 +510,6 @@
} rv_plic_reg2hw_prio121_reg_t;
typedef struct packed {
- logic [1:0] q;
- } rv_plic_reg2hw_prio122_reg_t;
-
- typedef struct packed {
logic q;
} rv_plic_reg2hw_ie0_mreg_t;
@@ -546,131 +542,130 @@
// Register to internal design logic //
///////////////////////////////////////
typedef struct packed {
- rv_plic_reg2hw_le_mreg_t [122:0] le; // [503:381]
- rv_plic_reg2hw_prio0_reg_t prio0; // [380:379]
- rv_plic_reg2hw_prio1_reg_t prio1; // [378:377]
- rv_plic_reg2hw_prio2_reg_t prio2; // [376:375]
- rv_plic_reg2hw_prio3_reg_t prio3; // [374:373]
- rv_plic_reg2hw_prio4_reg_t prio4; // [372:371]
- rv_plic_reg2hw_prio5_reg_t prio5; // [370:369]
- rv_plic_reg2hw_prio6_reg_t prio6; // [368:367]
- rv_plic_reg2hw_prio7_reg_t prio7; // [366:365]
- rv_plic_reg2hw_prio8_reg_t prio8; // [364:363]
- rv_plic_reg2hw_prio9_reg_t prio9; // [362:361]
- rv_plic_reg2hw_prio10_reg_t prio10; // [360:359]
- rv_plic_reg2hw_prio11_reg_t prio11; // [358:357]
- rv_plic_reg2hw_prio12_reg_t prio12; // [356:355]
- rv_plic_reg2hw_prio13_reg_t prio13; // [354:353]
- rv_plic_reg2hw_prio14_reg_t prio14; // [352:351]
- rv_plic_reg2hw_prio15_reg_t prio15; // [350:349]
- rv_plic_reg2hw_prio16_reg_t prio16; // [348:347]
- rv_plic_reg2hw_prio17_reg_t prio17; // [346:345]
- rv_plic_reg2hw_prio18_reg_t prio18; // [344:343]
- rv_plic_reg2hw_prio19_reg_t prio19; // [342:341]
- rv_plic_reg2hw_prio20_reg_t prio20; // [340:339]
- rv_plic_reg2hw_prio21_reg_t prio21; // [338:337]
- rv_plic_reg2hw_prio22_reg_t prio22; // [336:335]
- rv_plic_reg2hw_prio23_reg_t prio23; // [334:333]
- rv_plic_reg2hw_prio24_reg_t prio24; // [332:331]
- rv_plic_reg2hw_prio25_reg_t prio25; // [330:329]
- rv_plic_reg2hw_prio26_reg_t prio26; // [328:327]
- rv_plic_reg2hw_prio27_reg_t prio27; // [326:325]
- rv_plic_reg2hw_prio28_reg_t prio28; // [324:323]
- rv_plic_reg2hw_prio29_reg_t prio29; // [322:321]
- rv_plic_reg2hw_prio30_reg_t prio30; // [320:319]
- rv_plic_reg2hw_prio31_reg_t prio31; // [318:317]
- rv_plic_reg2hw_prio32_reg_t prio32; // [316:315]
- rv_plic_reg2hw_prio33_reg_t prio33; // [314:313]
- rv_plic_reg2hw_prio34_reg_t prio34; // [312:311]
- rv_plic_reg2hw_prio35_reg_t prio35; // [310:309]
- rv_plic_reg2hw_prio36_reg_t prio36; // [308:307]
- rv_plic_reg2hw_prio37_reg_t prio37; // [306:305]
- rv_plic_reg2hw_prio38_reg_t prio38; // [304:303]
- rv_plic_reg2hw_prio39_reg_t prio39; // [302:301]
- rv_plic_reg2hw_prio40_reg_t prio40; // [300:299]
- rv_plic_reg2hw_prio41_reg_t prio41; // [298:297]
- rv_plic_reg2hw_prio42_reg_t prio42; // [296:295]
- rv_plic_reg2hw_prio43_reg_t prio43; // [294:293]
- rv_plic_reg2hw_prio44_reg_t prio44; // [292:291]
- rv_plic_reg2hw_prio45_reg_t prio45; // [290:289]
- rv_plic_reg2hw_prio46_reg_t prio46; // [288:287]
- rv_plic_reg2hw_prio47_reg_t prio47; // [286:285]
- rv_plic_reg2hw_prio48_reg_t prio48; // [284:283]
- rv_plic_reg2hw_prio49_reg_t prio49; // [282:281]
- rv_plic_reg2hw_prio50_reg_t prio50; // [280:279]
- rv_plic_reg2hw_prio51_reg_t prio51; // [278:277]
- rv_plic_reg2hw_prio52_reg_t prio52; // [276:275]
- rv_plic_reg2hw_prio53_reg_t prio53; // [274:273]
- rv_plic_reg2hw_prio54_reg_t prio54; // [272:271]
- rv_plic_reg2hw_prio55_reg_t prio55; // [270:269]
- rv_plic_reg2hw_prio56_reg_t prio56; // [268:267]
- rv_plic_reg2hw_prio57_reg_t prio57; // [266:265]
- rv_plic_reg2hw_prio58_reg_t prio58; // [264:263]
- rv_plic_reg2hw_prio59_reg_t prio59; // [262:261]
- rv_plic_reg2hw_prio60_reg_t prio60; // [260:259]
- rv_plic_reg2hw_prio61_reg_t prio61; // [258:257]
- rv_plic_reg2hw_prio62_reg_t prio62; // [256:255]
- rv_plic_reg2hw_prio63_reg_t prio63; // [254:253]
- rv_plic_reg2hw_prio64_reg_t prio64; // [252:251]
- rv_plic_reg2hw_prio65_reg_t prio65; // [250:249]
- rv_plic_reg2hw_prio66_reg_t prio66; // [248:247]
- rv_plic_reg2hw_prio67_reg_t prio67; // [246:245]
- rv_plic_reg2hw_prio68_reg_t prio68; // [244:243]
- rv_plic_reg2hw_prio69_reg_t prio69; // [242:241]
- rv_plic_reg2hw_prio70_reg_t prio70; // [240:239]
- rv_plic_reg2hw_prio71_reg_t prio71; // [238:237]
- rv_plic_reg2hw_prio72_reg_t prio72; // [236:235]
- rv_plic_reg2hw_prio73_reg_t prio73; // [234:233]
- rv_plic_reg2hw_prio74_reg_t prio74; // [232:231]
- rv_plic_reg2hw_prio75_reg_t prio75; // [230:229]
- rv_plic_reg2hw_prio76_reg_t prio76; // [228:227]
- rv_plic_reg2hw_prio77_reg_t prio77; // [226:225]
- rv_plic_reg2hw_prio78_reg_t prio78; // [224:223]
- rv_plic_reg2hw_prio79_reg_t prio79; // [222:221]
- rv_plic_reg2hw_prio80_reg_t prio80; // [220:219]
- rv_plic_reg2hw_prio81_reg_t prio81; // [218:217]
- rv_plic_reg2hw_prio82_reg_t prio82; // [216:215]
- rv_plic_reg2hw_prio83_reg_t prio83; // [214:213]
- rv_plic_reg2hw_prio84_reg_t prio84; // [212:211]
- rv_plic_reg2hw_prio85_reg_t prio85; // [210:209]
- rv_plic_reg2hw_prio86_reg_t prio86; // [208:207]
- rv_plic_reg2hw_prio87_reg_t prio87; // [206:205]
- rv_plic_reg2hw_prio88_reg_t prio88; // [204:203]
- rv_plic_reg2hw_prio89_reg_t prio89; // [202:201]
- rv_plic_reg2hw_prio90_reg_t prio90; // [200:199]
- rv_plic_reg2hw_prio91_reg_t prio91; // [198:197]
- rv_plic_reg2hw_prio92_reg_t prio92; // [196:195]
- rv_plic_reg2hw_prio93_reg_t prio93; // [194:193]
- rv_plic_reg2hw_prio94_reg_t prio94; // [192:191]
- rv_plic_reg2hw_prio95_reg_t prio95; // [190:189]
- rv_plic_reg2hw_prio96_reg_t prio96; // [188:187]
- rv_plic_reg2hw_prio97_reg_t prio97; // [186:185]
- rv_plic_reg2hw_prio98_reg_t prio98; // [184:183]
- rv_plic_reg2hw_prio99_reg_t prio99; // [182:181]
- rv_plic_reg2hw_prio100_reg_t prio100; // [180:179]
- rv_plic_reg2hw_prio101_reg_t prio101; // [178:177]
- rv_plic_reg2hw_prio102_reg_t prio102; // [176:175]
- rv_plic_reg2hw_prio103_reg_t prio103; // [174:173]
- rv_plic_reg2hw_prio104_reg_t prio104; // [172:171]
- rv_plic_reg2hw_prio105_reg_t prio105; // [170:169]
- rv_plic_reg2hw_prio106_reg_t prio106; // [168:167]
- rv_plic_reg2hw_prio107_reg_t prio107; // [166:165]
- rv_plic_reg2hw_prio108_reg_t prio108; // [164:163]
- rv_plic_reg2hw_prio109_reg_t prio109; // [162:161]
- rv_plic_reg2hw_prio110_reg_t prio110; // [160:159]
- rv_plic_reg2hw_prio111_reg_t prio111; // [158:157]
- rv_plic_reg2hw_prio112_reg_t prio112; // [156:155]
- rv_plic_reg2hw_prio113_reg_t prio113; // [154:153]
- rv_plic_reg2hw_prio114_reg_t prio114; // [152:151]
- rv_plic_reg2hw_prio115_reg_t prio115; // [150:149]
- rv_plic_reg2hw_prio116_reg_t prio116; // [148:147]
- rv_plic_reg2hw_prio117_reg_t prio117; // [146:145]
- rv_plic_reg2hw_prio118_reg_t prio118; // [144:143]
- rv_plic_reg2hw_prio119_reg_t prio119; // [142:141]
- rv_plic_reg2hw_prio120_reg_t prio120; // [140:139]
- rv_plic_reg2hw_prio121_reg_t prio121; // [138:137]
- rv_plic_reg2hw_prio122_reg_t prio122; // [136:135]
- rv_plic_reg2hw_ie0_mreg_t [122:0] ie0; // [134:12]
+ rv_plic_reg2hw_le_mreg_t [121:0] le; // [499:378]
+ rv_plic_reg2hw_prio0_reg_t prio0; // [377:376]
+ rv_plic_reg2hw_prio1_reg_t prio1; // [375:374]
+ rv_plic_reg2hw_prio2_reg_t prio2; // [373:372]
+ rv_plic_reg2hw_prio3_reg_t prio3; // [371:370]
+ rv_plic_reg2hw_prio4_reg_t prio4; // [369:368]
+ rv_plic_reg2hw_prio5_reg_t prio5; // [367:366]
+ rv_plic_reg2hw_prio6_reg_t prio6; // [365:364]
+ rv_plic_reg2hw_prio7_reg_t prio7; // [363:362]
+ rv_plic_reg2hw_prio8_reg_t prio8; // [361:360]
+ rv_plic_reg2hw_prio9_reg_t prio9; // [359:358]
+ rv_plic_reg2hw_prio10_reg_t prio10; // [357:356]
+ rv_plic_reg2hw_prio11_reg_t prio11; // [355:354]
+ rv_plic_reg2hw_prio12_reg_t prio12; // [353:352]
+ rv_plic_reg2hw_prio13_reg_t prio13; // [351:350]
+ rv_plic_reg2hw_prio14_reg_t prio14; // [349:348]
+ rv_plic_reg2hw_prio15_reg_t prio15; // [347:346]
+ rv_plic_reg2hw_prio16_reg_t prio16; // [345:344]
+ rv_plic_reg2hw_prio17_reg_t prio17; // [343:342]
+ rv_plic_reg2hw_prio18_reg_t prio18; // [341:340]
+ rv_plic_reg2hw_prio19_reg_t prio19; // [339:338]
+ rv_plic_reg2hw_prio20_reg_t prio20; // [337:336]
+ rv_plic_reg2hw_prio21_reg_t prio21; // [335:334]
+ rv_plic_reg2hw_prio22_reg_t prio22; // [333:332]
+ rv_plic_reg2hw_prio23_reg_t prio23; // [331:330]
+ rv_plic_reg2hw_prio24_reg_t prio24; // [329:328]
+ rv_plic_reg2hw_prio25_reg_t prio25; // [327:326]
+ rv_plic_reg2hw_prio26_reg_t prio26; // [325:324]
+ rv_plic_reg2hw_prio27_reg_t prio27; // [323:322]
+ rv_plic_reg2hw_prio28_reg_t prio28; // [321:320]
+ rv_plic_reg2hw_prio29_reg_t prio29; // [319:318]
+ rv_plic_reg2hw_prio30_reg_t prio30; // [317:316]
+ rv_plic_reg2hw_prio31_reg_t prio31; // [315:314]
+ rv_plic_reg2hw_prio32_reg_t prio32; // [313:312]
+ rv_plic_reg2hw_prio33_reg_t prio33; // [311:310]
+ rv_plic_reg2hw_prio34_reg_t prio34; // [309:308]
+ rv_plic_reg2hw_prio35_reg_t prio35; // [307:306]
+ rv_plic_reg2hw_prio36_reg_t prio36; // [305:304]
+ rv_plic_reg2hw_prio37_reg_t prio37; // [303:302]
+ rv_plic_reg2hw_prio38_reg_t prio38; // [301:300]
+ rv_plic_reg2hw_prio39_reg_t prio39; // [299:298]
+ rv_plic_reg2hw_prio40_reg_t prio40; // [297:296]
+ rv_plic_reg2hw_prio41_reg_t prio41; // [295:294]
+ rv_plic_reg2hw_prio42_reg_t prio42; // [293:292]
+ rv_plic_reg2hw_prio43_reg_t prio43; // [291:290]
+ rv_plic_reg2hw_prio44_reg_t prio44; // [289:288]
+ rv_plic_reg2hw_prio45_reg_t prio45; // [287:286]
+ rv_plic_reg2hw_prio46_reg_t prio46; // [285:284]
+ rv_plic_reg2hw_prio47_reg_t prio47; // [283:282]
+ rv_plic_reg2hw_prio48_reg_t prio48; // [281:280]
+ rv_plic_reg2hw_prio49_reg_t prio49; // [279:278]
+ rv_plic_reg2hw_prio50_reg_t prio50; // [277:276]
+ rv_plic_reg2hw_prio51_reg_t prio51; // [275:274]
+ rv_plic_reg2hw_prio52_reg_t prio52; // [273:272]
+ rv_plic_reg2hw_prio53_reg_t prio53; // [271:270]
+ rv_plic_reg2hw_prio54_reg_t prio54; // [269:268]
+ rv_plic_reg2hw_prio55_reg_t prio55; // [267:266]
+ rv_plic_reg2hw_prio56_reg_t prio56; // [265:264]
+ rv_plic_reg2hw_prio57_reg_t prio57; // [263:262]
+ rv_plic_reg2hw_prio58_reg_t prio58; // [261:260]
+ rv_plic_reg2hw_prio59_reg_t prio59; // [259:258]
+ rv_plic_reg2hw_prio60_reg_t prio60; // [257:256]
+ rv_plic_reg2hw_prio61_reg_t prio61; // [255:254]
+ rv_plic_reg2hw_prio62_reg_t prio62; // [253:252]
+ rv_plic_reg2hw_prio63_reg_t prio63; // [251:250]
+ rv_plic_reg2hw_prio64_reg_t prio64; // [249:248]
+ rv_plic_reg2hw_prio65_reg_t prio65; // [247:246]
+ rv_plic_reg2hw_prio66_reg_t prio66; // [245:244]
+ rv_plic_reg2hw_prio67_reg_t prio67; // [243:242]
+ rv_plic_reg2hw_prio68_reg_t prio68; // [241:240]
+ rv_plic_reg2hw_prio69_reg_t prio69; // [239:238]
+ rv_plic_reg2hw_prio70_reg_t prio70; // [237:236]
+ rv_plic_reg2hw_prio71_reg_t prio71; // [235:234]
+ rv_plic_reg2hw_prio72_reg_t prio72; // [233:232]
+ rv_plic_reg2hw_prio73_reg_t prio73; // [231:230]
+ rv_plic_reg2hw_prio74_reg_t prio74; // [229:228]
+ rv_plic_reg2hw_prio75_reg_t prio75; // [227:226]
+ rv_plic_reg2hw_prio76_reg_t prio76; // [225:224]
+ rv_plic_reg2hw_prio77_reg_t prio77; // [223:222]
+ rv_plic_reg2hw_prio78_reg_t prio78; // [221:220]
+ rv_plic_reg2hw_prio79_reg_t prio79; // [219:218]
+ rv_plic_reg2hw_prio80_reg_t prio80; // [217:216]
+ rv_plic_reg2hw_prio81_reg_t prio81; // [215:214]
+ rv_plic_reg2hw_prio82_reg_t prio82; // [213:212]
+ rv_plic_reg2hw_prio83_reg_t prio83; // [211:210]
+ rv_plic_reg2hw_prio84_reg_t prio84; // [209:208]
+ rv_plic_reg2hw_prio85_reg_t prio85; // [207:206]
+ rv_plic_reg2hw_prio86_reg_t prio86; // [205:204]
+ rv_plic_reg2hw_prio87_reg_t prio87; // [203:202]
+ rv_plic_reg2hw_prio88_reg_t prio88; // [201:200]
+ rv_plic_reg2hw_prio89_reg_t prio89; // [199:198]
+ rv_plic_reg2hw_prio90_reg_t prio90; // [197:196]
+ rv_plic_reg2hw_prio91_reg_t prio91; // [195:194]
+ rv_plic_reg2hw_prio92_reg_t prio92; // [193:192]
+ rv_plic_reg2hw_prio93_reg_t prio93; // [191:190]
+ rv_plic_reg2hw_prio94_reg_t prio94; // [189:188]
+ rv_plic_reg2hw_prio95_reg_t prio95; // [187:186]
+ rv_plic_reg2hw_prio96_reg_t prio96; // [185:184]
+ rv_plic_reg2hw_prio97_reg_t prio97; // [183:182]
+ rv_plic_reg2hw_prio98_reg_t prio98; // [181:180]
+ rv_plic_reg2hw_prio99_reg_t prio99; // [179:178]
+ rv_plic_reg2hw_prio100_reg_t prio100; // [177:176]
+ rv_plic_reg2hw_prio101_reg_t prio101; // [175:174]
+ rv_plic_reg2hw_prio102_reg_t prio102; // [173:172]
+ rv_plic_reg2hw_prio103_reg_t prio103; // [171:170]
+ rv_plic_reg2hw_prio104_reg_t prio104; // [169:168]
+ rv_plic_reg2hw_prio105_reg_t prio105; // [167:166]
+ rv_plic_reg2hw_prio106_reg_t prio106; // [165:164]
+ rv_plic_reg2hw_prio107_reg_t prio107; // [163:162]
+ rv_plic_reg2hw_prio108_reg_t prio108; // [161:160]
+ rv_plic_reg2hw_prio109_reg_t prio109; // [159:158]
+ rv_plic_reg2hw_prio110_reg_t prio110; // [157:156]
+ rv_plic_reg2hw_prio111_reg_t prio111; // [155:154]
+ rv_plic_reg2hw_prio112_reg_t prio112; // [153:152]
+ rv_plic_reg2hw_prio113_reg_t prio113; // [151:150]
+ rv_plic_reg2hw_prio114_reg_t prio114; // [149:148]
+ rv_plic_reg2hw_prio115_reg_t prio115; // [147:146]
+ rv_plic_reg2hw_prio116_reg_t prio116; // [145:144]
+ rv_plic_reg2hw_prio117_reg_t prio117; // [143:142]
+ rv_plic_reg2hw_prio118_reg_t prio118; // [141:140]
+ rv_plic_reg2hw_prio119_reg_t prio119; // [139:138]
+ rv_plic_reg2hw_prio120_reg_t prio120; // [137:136]
+ rv_plic_reg2hw_prio121_reg_t prio121; // [135:134]
+ rv_plic_reg2hw_ie0_mreg_t [121:0] ie0; // [133:12]
rv_plic_reg2hw_threshold0_reg_t threshold0; // [11:10]
rv_plic_reg2hw_cc0_reg_t cc0; // [9:1]
rv_plic_reg2hw_msip0_reg_t msip0; // [0:0]
@@ -680,7 +675,7 @@
// Internal design logic to register //
///////////////////////////////////////
typedef struct packed {
- rv_plic_hw2reg_ip_mreg_t [122:0] ip; // [252:7]
+ rv_plic_hw2reg_ip_mreg_t [121:0] ip; // [250:7]
rv_plic_hw2reg_cc0_reg_t cc0; // [6:0]
} rv_plic_hw2reg_t;
@@ -815,7 +810,6 @@
parameter logic [BlockAw-1:0] RV_PLIC_PRIO119_OFFSET = 10'h 1fc;
parameter logic [BlockAw-1:0] RV_PLIC_PRIO120_OFFSET = 10'h 200;
parameter logic [BlockAw-1:0] RV_PLIC_PRIO121_OFFSET = 10'h 204;
- parameter logic [BlockAw-1:0] RV_PLIC_PRIO122_OFFSET = 10'h 208;
parameter logic [BlockAw-1:0] RV_PLIC_IE0_0_OFFSET = 10'h 300;
parameter logic [BlockAw-1:0] RV_PLIC_IE0_1_OFFSET = 10'h 304;
parameter logic [BlockAw-1:0] RV_PLIC_IE0_2_OFFSET = 10'h 308;
@@ -957,7 +951,6 @@
RV_PLIC_PRIO119,
RV_PLIC_PRIO120,
RV_PLIC_PRIO121,
- RV_PLIC_PRIO122,
RV_PLIC_IE0_0,
RV_PLIC_IE0_1,
RV_PLIC_IE0_2,
@@ -968,7 +961,7 @@
} rv_plic_id_e;
// Register width information to check illegal writes
- parameter logic [3:0] RV_PLIC_PERMIT [138] = '{
+ parameter logic [3:0] RV_PLIC_PERMIT [137] = '{
4'b 1111, // index[ 0] RV_PLIC_IP_0
4'b 1111, // index[ 1] RV_PLIC_IP_1
4'b 1111, // index[ 2] RV_PLIC_IP_2
@@ -1099,14 +1092,13 @@
4'b 0001, // index[127] RV_PLIC_PRIO119
4'b 0001, // index[128] RV_PLIC_PRIO120
4'b 0001, // index[129] RV_PLIC_PRIO121
- 4'b 0001, // index[130] RV_PLIC_PRIO122
- 4'b 1111, // index[131] RV_PLIC_IE0_0
- 4'b 1111, // index[132] RV_PLIC_IE0_1
- 4'b 1111, // index[133] RV_PLIC_IE0_2
- 4'b 1111, // index[134] RV_PLIC_IE0_3
- 4'b 0001, // index[135] RV_PLIC_THRESHOLD0
- 4'b 0001, // index[136] RV_PLIC_CC0
- 4'b 0001 // index[137] RV_PLIC_MSIP0
+ 4'b 1111, // index[130] RV_PLIC_IE0_0
+ 4'b 1111, // index[131] RV_PLIC_IE0_1
+ 4'b 1111, // index[132] RV_PLIC_IE0_2
+ 4'b 1111, // index[133] RV_PLIC_IE0_3
+ 4'b 0001, // index[134] RV_PLIC_THRESHOLD0
+ 4'b 0001, // index[135] RV_PLIC_CC0
+ 4'b 0001 // index[136] RV_PLIC_MSIP0
};
endpackage
diff --git a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_top.sv b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_top.sv
index d085332..1438f13 100644
--- a/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_top.sv
+++ b/hw/top_earlgrey/ip/rv_plic/rtl/autogen/rv_plic_reg_top.sv
@@ -193,7 +193,6 @@
logic ip_3_p_119_qs;
logic ip_3_p_120_qs;
logic ip_3_p_121_qs;
- logic ip_3_p_122_qs;
logic le_0_le_0_qs;
logic le_0_le_0_wd;
logic le_0_le_0_we;
@@ -560,9 +559,6 @@
logic le_3_le_121_qs;
logic le_3_le_121_wd;
logic le_3_le_121_we;
- logic le_3_le_122_qs;
- logic le_3_le_122_wd;
- logic le_3_le_122_we;
logic [1:0] prio0_qs;
logic [1:0] prio0_wd;
logic prio0_we;
@@ -929,9 +925,6 @@
logic [1:0] prio121_qs;
logic [1:0] prio121_wd;
logic prio121_we;
- logic [1:0] prio122_qs;
- logic [1:0] prio122_wd;
- logic prio122_we;
logic ie0_0_e_0_qs;
logic ie0_0_e_0_wd;
logic ie0_0_e_0_we;
@@ -1298,9 +1291,6 @@
logic ie0_3_e_121_qs;
logic ie0_3_e_121_wd;
logic ie0_3_e_121_we;
- logic ie0_3_e_122_qs;
- logic ie0_3_e_122_wd;
- logic ie0_3_e_122_we;
logic [1:0] threshold0_qs;
logic [1:0] threshold0_wd;
logic threshold0_we;
@@ -4376,31 +4366,6 @@
);
- // F[p_122]: 26:26
- prim_subreg #(
- .DW (1),
- .SWACCESS("RO"),
- .RESVAL (1'h0)
- ) u_ip_3_p_122 (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- .we (1'b0),
- .wd ('0 ),
-
- // from internal hardware
- .de (hw2reg.ip[122].de),
- .d (hw2reg.ip[122].d ),
-
- // to internal hardware
- .qe (),
- .q (),
-
- // to register interface (read)
- .qs (ip_3_p_122_qs)
- );
-
-
// Subregister 0 of Multireg le
@@ -7587,32 +7552,6 @@
);
- // F[le_122]: 26:26
- prim_subreg #(
- .DW (1),
- .SWACCESS("RW"),
- .RESVAL (1'h0)
- ) u_le_3_le_122 (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (le_3_le_122_we),
- .wd (le_3_le_122_wd),
-
- // from internal hardware
- .de (1'b0),
- .d ('0 ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.le[122].q ),
-
- // to register interface (read)
- .qs (le_3_le_122_qs)
- );
-
-
// R[prio0]: V(False)
@@ -10908,33 +10847,6 @@
);
- // R[prio122]: V(False)
-
- prim_subreg #(
- .DW (2),
- .SWACCESS("RW"),
- .RESVAL (2'h0)
- ) u_prio122 (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (prio122_we),
- .wd (prio122_wd),
-
- // from internal hardware
- .de (1'b0),
- .d ('0 ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.prio122.q ),
-
- // to register interface (read)
- .qs (prio122_qs)
- );
-
-
// Subregister 0 of Multireg ie0
// R[ie0_0]: V(False)
@@ -14120,32 +14032,6 @@
);
- // F[e_122]: 26:26
- prim_subreg #(
- .DW (1),
- .SWACCESS("RW"),
- .RESVAL (1'h0)
- ) u_ie0_3_e_122 (
- .clk_i (clk_i ),
- .rst_ni (rst_ni ),
-
- // from register interface
- .we (ie0_3_e_122_we),
- .wd (ie0_3_e_122_wd),
-
- // from internal hardware
- .de (1'b0),
- .d ('0 ),
-
- // to internal hardware
- .qe (),
- .q (reg2hw.ie0[122].q ),
-
- // to register interface (read)
- .qs (ie0_3_e_122_qs)
- );
-
-
// R[threshold0]: V(False)
@@ -14219,7 +14105,7 @@
- logic [137:0] addr_hit;
+ logic [136:0] addr_hit;
always_comb begin
addr_hit = '0;
addr_hit[ 0] = (reg_addr == RV_PLIC_IP_0_OFFSET);
@@ -14352,14 +14238,13 @@
addr_hit[127] = (reg_addr == RV_PLIC_PRIO119_OFFSET);
addr_hit[128] = (reg_addr == RV_PLIC_PRIO120_OFFSET);
addr_hit[129] = (reg_addr == RV_PLIC_PRIO121_OFFSET);
- addr_hit[130] = (reg_addr == RV_PLIC_PRIO122_OFFSET);
- addr_hit[131] = (reg_addr == RV_PLIC_IE0_0_OFFSET);
- addr_hit[132] = (reg_addr == RV_PLIC_IE0_1_OFFSET);
- addr_hit[133] = (reg_addr == RV_PLIC_IE0_2_OFFSET);
- addr_hit[134] = (reg_addr == RV_PLIC_IE0_3_OFFSET);
- addr_hit[135] = (reg_addr == RV_PLIC_THRESHOLD0_OFFSET);
- addr_hit[136] = (reg_addr == RV_PLIC_CC0_OFFSET);
- addr_hit[137] = (reg_addr == RV_PLIC_MSIP0_OFFSET);
+ addr_hit[130] = (reg_addr == RV_PLIC_IE0_0_OFFSET);
+ addr_hit[131] = (reg_addr == RV_PLIC_IE0_1_OFFSET);
+ addr_hit[132] = (reg_addr == RV_PLIC_IE0_2_OFFSET);
+ addr_hit[133] = (reg_addr == RV_PLIC_IE0_3_OFFSET);
+ addr_hit[134] = (reg_addr == RV_PLIC_THRESHOLD0_OFFSET);
+ addr_hit[135] = (reg_addr == RV_PLIC_CC0_OFFSET);
+ addr_hit[136] = (reg_addr == RV_PLIC_MSIP0_OFFSET);
end
assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -14504,7 +14389,6 @@
if (addr_hit[134] && reg_we && (RV_PLIC_PERMIT[134] != (RV_PLIC_PERMIT[134] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[135] && reg_we && (RV_PLIC_PERMIT[135] != (RV_PLIC_PERMIT[135] & reg_be))) wr_err = 1'b1 ;
if (addr_hit[136] && reg_we && (RV_PLIC_PERMIT[136] != (RV_PLIC_PERMIT[136] & reg_be))) wr_err = 1'b1 ;
- if (addr_hit[137] && reg_we && (RV_PLIC_PERMIT[137] != (RV_PLIC_PERMIT[137] & reg_be))) wr_err = 1'b1 ;
end
@@ -14629,7 +14513,6 @@
-
assign le_0_le_0_we = addr_hit[4] & reg_we & ~wr_err;
assign le_0_le_0_wd = reg_wdata[0];
@@ -14996,9 +14879,6 @@
assign le_3_le_121_we = addr_hit[7] & reg_we & ~wr_err;
assign le_3_le_121_wd = reg_wdata[25];
- assign le_3_le_122_we = addr_hit[7] & reg_we & ~wr_err;
- assign le_3_le_122_wd = reg_wdata[26];
-
assign prio0_we = addr_hit[8] & reg_we & ~wr_err;
assign prio0_wd = reg_wdata[1:0];
@@ -15365,386 +15245,380 @@
assign prio121_we = addr_hit[129] & reg_we & ~wr_err;
assign prio121_wd = reg_wdata[1:0];
- assign prio122_we = addr_hit[130] & reg_we & ~wr_err;
- assign prio122_wd = reg_wdata[1:0];
-
- assign ie0_0_e_0_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_0_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_0_wd = reg_wdata[0];
- assign ie0_0_e_1_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_1_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_1_wd = reg_wdata[1];
- assign ie0_0_e_2_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_2_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_2_wd = reg_wdata[2];
- assign ie0_0_e_3_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_3_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_3_wd = reg_wdata[3];
- assign ie0_0_e_4_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_4_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_4_wd = reg_wdata[4];
- assign ie0_0_e_5_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_5_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_5_wd = reg_wdata[5];
- assign ie0_0_e_6_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_6_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_6_wd = reg_wdata[6];
- assign ie0_0_e_7_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_7_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_7_wd = reg_wdata[7];
- assign ie0_0_e_8_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_8_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_8_wd = reg_wdata[8];
- assign ie0_0_e_9_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_9_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_9_wd = reg_wdata[9];
- assign ie0_0_e_10_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_10_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_10_wd = reg_wdata[10];
- assign ie0_0_e_11_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_11_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_11_wd = reg_wdata[11];
- assign ie0_0_e_12_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_12_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_12_wd = reg_wdata[12];
- assign ie0_0_e_13_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_13_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_13_wd = reg_wdata[13];
- assign ie0_0_e_14_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_14_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_14_wd = reg_wdata[14];
- assign ie0_0_e_15_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_15_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_15_wd = reg_wdata[15];
- assign ie0_0_e_16_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_16_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_16_wd = reg_wdata[16];
- assign ie0_0_e_17_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_17_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_17_wd = reg_wdata[17];
- assign ie0_0_e_18_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_18_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_18_wd = reg_wdata[18];
- assign ie0_0_e_19_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_19_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_19_wd = reg_wdata[19];
- assign ie0_0_e_20_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_20_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_20_wd = reg_wdata[20];
- assign ie0_0_e_21_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_21_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_21_wd = reg_wdata[21];
- assign ie0_0_e_22_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_22_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_22_wd = reg_wdata[22];
- assign ie0_0_e_23_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_23_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_23_wd = reg_wdata[23];
- assign ie0_0_e_24_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_24_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_24_wd = reg_wdata[24];
- assign ie0_0_e_25_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_25_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_25_wd = reg_wdata[25];
- assign ie0_0_e_26_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_26_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_26_wd = reg_wdata[26];
- assign ie0_0_e_27_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_27_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_27_wd = reg_wdata[27];
- assign ie0_0_e_28_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_28_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_28_wd = reg_wdata[28];
- assign ie0_0_e_29_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_29_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_29_wd = reg_wdata[29];
- assign ie0_0_e_30_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_30_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_30_wd = reg_wdata[30];
- assign ie0_0_e_31_we = addr_hit[131] & reg_we & ~wr_err;
+ assign ie0_0_e_31_we = addr_hit[130] & reg_we & ~wr_err;
assign ie0_0_e_31_wd = reg_wdata[31];
- assign ie0_1_e_32_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_32_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_32_wd = reg_wdata[0];
- assign ie0_1_e_33_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_33_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_33_wd = reg_wdata[1];
- assign ie0_1_e_34_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_34_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_34_wd = reg_wdata[2];
- assign ie0_1_e_35_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_35_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_35_wd = reg_wdata[3];
- assign ie0_1_e_36_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_36_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_36_wd = reg_wdata[4];
- assign ie0_1_e_37_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_37_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_37_wd = reg_wdata[5];
- assign ie0_1_e_38_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_38_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_38_wd = reg_wdata[6];
- assign ie0_1_e_39_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_39_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_39_wd = reg_wdata[7];
- assign ie0_1_e_40_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_40_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_40_wd = reg_wdata[8];
- assign ie0_1_e_41_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_41_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_41_wd = reg_wdata[9];
- assign ie0_1_e_42_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_42_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_42_wd = reg_wdata[10];
- assign ie0_1_e_43_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_43_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_43_wd = reg_wdata[11];
- assign ie0_1_e_44_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_44_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_44_wd = reg_wdata[12];
- assign ie0_1_e_45_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_45_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_45_wd = reg_wdata[13];
- assign ie0_1_e_46_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_46_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_46_wd = reg_wdata[14];
- assign ie0_1_e_47_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_47_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_47_wd = reg_wdata[15];
- assign ie0_1_e_48_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_48_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_48_wd = reg_wdata[16];
- assign ie0_1_e_49_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_49_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_49_wd = reg_wdata[17];
- assign ie0_1_e_50_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_50_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_50_wd = reg_wdata[18];
- assign ie0_1_e_51_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_51_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_51_wd = reg_wdata[19];
- assign ie0_1_e_52_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_52_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_52_wd = reg_wdata[20];
- assign ie0_1_e_53_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_53_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_53_wd = reg_wdata[21];
- assign ie0_1_e_54_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_54_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_54_wd = reg_wdata[22];
- assign ie0_1_e_55_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_55_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_55_wd = reg_wdata[23];
- assign ie0_1_e_56_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_56_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_56_wd = reg_wdata[24];
- assign ie0_1_e_57_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_57_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_57_wd = reg_wdata[25];
- assign ie0_1_e_58_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_58_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_58_wd = reg_wdata[26];
- assign ie0_1_e_59_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_59_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_59_wd = reg_wdata[27];
- assign ie0_1_e_60_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_60_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_60_wd = reg_wdata[28];
- assign ie0_1_e_61_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_61_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_61_wd = reg_wdata[29];
- assign ie0_1_e_62_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_62_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_62_wd = reg_wdata[30];
- assign ie0_1_e_63_we = addr_hit[132] & reg_we & ~wr_err;
+ assign ie0_1_e_63_we = addr_hit[131] & reg_we & ~wr_err;
assign ie0_1_e_63_wd = reg_wdata[31];
- assign ie0_2_e_64_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_64_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_64_wd = reg_wdata[0];
- assign ie0_2_e_65_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_65_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_65_wd = reg_wdata[1];
- assign ie0_2_e_66_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_66_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_66_wd = reg_wdata[2];
- assign ie0_2_e_67_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_67_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_67_wd = reg_wdata[3];
- assign ie0_2_e_68_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_68_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_68_wd = reg_wdata[4];
- assign ie0_2_e_69_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_69_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_69_wd = reg_wdata[5];
- assign ie0_2_e_70_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_70_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_70_wd = reg_wdata[6];
- assign ie0_2_e_71_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_71_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_71_wd = reg_wdata[7];
- assign ie0_2_e_72_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_72_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_72_wd = reg_wdata[8];
- assign ie0_2_e_73_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_73_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_73_wd = reg_wdata[9];
- assign ie0_2_e_74_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_74_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_74_wd = reg_wdata[10];
- assign ie0_2_e_75_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_75_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_75_wd = reg_wdata[11];
- assign ie0_2_e_76_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_76_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_76_wd = reg_wdata[12];
- assign ie0_2_e_77_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_77_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_77_wd = reg_wdata[13];
- assign ie0_2_e_78_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_78_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_78_wd = reg_wdata[14];
- assign ie0_2_e_79_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_79_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_79_wd = reg_wdata[15];
- assign ie0_2_e_80_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_80_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_80_wd = reg_wdata[16];
- assign ie0_2_e_81_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_81_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_81_wd = reg_wdata[17];
- assign ie0_2_e_82_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_82_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_82_wd = reg_wdata[18];
- assign ie0_2_e_83_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_83_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_83_wd = reg_wdata[19];
- assign ie0_2_e_84_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_84_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_84_wd = reg_wdata[20];
- assign ie0_2_e_85_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_85_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_85_wd = reg_wdata[21];
- assign ie0_2_e_86_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_86_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_86_wd = reg_wdata[22];
- assign ie0_2_e_87_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_87_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_87_wd = reg_wdata[23];
- assign ie0_2_e_88_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_88_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_88_wd = reg_wdata[24];
- assign ie0_2_e_89_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_89_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_89_wd = reg_wdata[25];
- assign ie0_2_e_90_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_90_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_90_wd = reg_wdata[26];
- assign ie0_2_e_91_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_91_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_91_wd = reg_wdata[27];
- assign ie0_2_e_92_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_92_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_92_wd = reg_wdata[28];
- assign ie0_2_e_93_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_93_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_93_wd = reg_wdata[29];
- assign ie0_2_e_94_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_94_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_94_wd = reg_wdata[30];
- assign ie0_2_e_95_we = addr_hit[133] & reg_we & ~wr_err;
+ assign ie0_2_e_95_we = addr_hit[132] & reg_we & ~wr_err;
assign ie0_2_e_95_wd = reg_wdata[31];
- assign ie0_3_e_96_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_96_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_96_wd = reg_wdata[0];
- assign ie0_3_e_97_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_97_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_97_wd = reg_wdata[1];
- assign ie0_3_e_98_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_98_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_98_wd = reg_wdata[2];
- assign ie0_3_e_99_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_99_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_99_wd = reg_wdata[3];
- assign ie0_3_e_100_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_100_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_100_wd = reg_wdata[4];
- assign ie0_3_e_101_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_101_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_101_wd = reg_wdata[5];
- assign ie0_3_e_102_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_102_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_102_wd = reg_wdata[6];
- assign ie0_3_e_103_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_103_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_103_wd = reg_wdata[7];
- assign ie0_3_e_104_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_104_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_104_wd = reg_wdata[8];
- assign ie0_3_e_105_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_105_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_105_wd = reg_wdata[9];
- assign ie0_3_e_106_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_106_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_106_wd = reg_wdata[10];
- assign ie0_3_e_107_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_107_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_107_wd = reg_wdata[11];
- assign ie0_3_e_108_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_108_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_108_wd = reg_wdata[12];
- assign ie0_3_e_109_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_109_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_109_wd = reg_wdata[13];
- assign ie0_3_e_110_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_110_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_110_wd = reg_wdata[14];
- assign ie0_3_e_111_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_111_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_111_wd = reg_wdata[15];
- assign ie0_3_e_112_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_112_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_112_wd = reg_wdata[16];
- assign ie0_3_e_113_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_113_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_113_wd = reg_wdata[17];
- assign ie0_3_e_114_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_114_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_114_wd = reg_wdata[18];
- assign ie0_3_e_115_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_115_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_115_wd = reg_wdata[19];
- assign ie0_3_e_116_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_116_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_116_wd = reg_wdata[20];
- assign ie0_3_e_117_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_117_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_117_wd = reg_wdata[21];
- assign ie0_3_e_118_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_118_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_118_wd = reg_wdata[22];
- assign ie0_3_e_119_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_119_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_119_wd = reg_wdata[23];
- assign ie0_3_e_120_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_120_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_120_wd = reg_wdata[24];
- assign ie0_3_e_121_we = addr_hit[134] & reg_we & ~wr_err;
+ assign ie0_3_e_121_we = addr_hit[133] & reg_we & ~wr_err;
assign ie0_3_e_121_wd = reg_wdata[25];
- assign ie0_3_e_122_we = addr_hit[134] & reg_we & ~wr_err;
- assign ie0_3_e_122_wd = reg_wdata[26];
-
- assign threshold0_we = addr_hit[135] & reg_we & ~wr_err;
+ assign threshold0_we = addr_hit[134] & reg_we & ~wr_err;
assign threshold0_wd = reg_wdata[1:0];
- assign cc0_we = addr_hit[136] & reg_we & ~wr_err;
+ assign cc0_we = addr_hit[135] & reg_we & ~wr_err;
assign cc0_wd = reg_wdata[6:0];
- assign cc0_re = addr_hit[136] && reg_re;
+ assign cc0_re = addr_hit[135] && reg_re;
- assign msip0_we = addr_hit[137] & reg_we & ~wr_err;
+ assign msip0_we = addr_hit[136] & reg_we & ~wr_err;
assign msip0_wd = reg_wdata[0];
// Read data return
@@ -15883,7 +15757,6 @@
reg_rdata_next[23] = ip_3_p_119_qs;
reg_rdata_next[24] = ip_3_p_120_qs;
reg_rdata_next[25] = ip_3_p_121_qs;
- reg_rdata_next[26] = ip_3_p_122_qs;
end
addr_hit[4]: begin
@@ -16018,7 +15891,6 @@
reg_rdata_next[23] = le_3_le_119_qs;
reg_rdata_next[24] = le_3_le_120_qs;
reg_rdata_next[25] = le_3_le_121_qs;
- reg_rdata_next[26] = le_3_le_122_qs;
end
addr_hit[8]: begin
@@ -16510,10 +16382,6 @@
end
addr_hit[130]: begin
- reg_rdata_next[1:0] = prio122_qs;
- end
-
- addr_hit[131]: begin
reg_rdata_next[0] = ie0_0_e_0_qs;
reg_rdata_next[1] = ie0_0_e_1_qs;
reg_rdata_next[2] = ie0_0_e_2_qs;
@@ -16548,7 +16416,7 @@
reg_rdata_next[31] = ie0_0_e_31_qs;
end
- addr_hit[132]: begin
+ addr_hit[131]: begin
reg_rdata_next[0] = ie0_1_e_32_qs;
reg_rdata_next[1] = ie0_1_e_33_qs;
reg_rdata_next[2] = ie0_1_e_34_qs;
@@ -16583,7 +16451,7 @@
reg_rdata_next[31] = ie0_1_e_63_qs;
end
- addr_hit[133]: begin
+ addr_hit[132]: begin
reg_rdata_next[0] = ie0_2_e_64_qs;
reg_rdata_next[1] = ie0_2_e_65_qs;
reg_rdata_next[2] = ie0_2_e_66_qs;
@@ -16618,7 +16486,7 @@
reg_rdata_next[31] = ie0_2_e_95_qs;
end
- addr_hit[134]: begin
+ addr_hit[133]: begin
reg_rdata_next[0] = ie0_3_e_96_qs;
reg_rdata_next[1] = ie0_3_e_97_qs;
reg_rdata_next[2] = ie0_3_e_98_qs;
@@ -16645,18 +16513,17 @@
reg_rdata_next[23] = ie0_3_e_119_qs;
reg_rdata_next[24] = ie0_3_e_120_qs;
reg_rdata_next[25] = ie0_3_e_121_qs;
- reg_rdata_next[26] = ie0_3_e_122_qs;
end
- addr_hit[135]: begin
+ addr_hit[134]: begin
reg_rdata_next[1:0] = threshold0_qs;
end
- addr_hit[136]: begin
+ addr_hit[135]: begin
reg_rdata_next[6:0] = cc0_qs;
end
- addr_hit[137]: begin
+ addr_hit[136]: begin
reg_rdata_next[0] = msip0_qs;
end
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index f50f51a..52b9ba3 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -70,7 +70,7 @@
input tlul_pkg::tl_d2h_t ast_tl_rsp_i,
output otp_ctrl_pkg::otp_ast_req_t otp_ctrl_otp_ast_pwr_seq_o,
input otp_ctrl_pkg::otp_ast_rsp_t otp_ctrl_otp_ast_pwr_seq_h_i,
- input logic flash_bist_enable_i,
+ input lc_ctrl_pkg::lc_tx_t flash_bist_enable_i,
input logic flash_power_down_h_i,
input logic flash_power_ready_h_i,
input logic [1:0] flash_test_mode_a_i,
@@ -179,7 +179,7 @@
// otbn
- logic [122:0] intr_vector;
+ logic [121:0] intr_vector;
// Interrupt source list
logic intr_uart0_tx_watermark;
logic intr_uart0_rx_watermark;
@@ -253,7 +253,6 @@
logic intr_flash_ctrl_rd_full;
logic intr_flash_ctrl_rd_lvl;
logic intr_flash_ctrl_op_done;
- logic intr_flash_ctrl_op_error;
logic intr_hmac_hmac_done;
logic intr_hmac_fifo_empty;
logic intr_hmac_hmac_err;
@@ -1323,7 +1322,12 @@
.intr_rd_full_o (intr_flash_ctrl_rd_full),
.intr_rd_lvl_o (intr_flash_ctrl_rd_lvl),
.intr_op_done_o (intr_flash_ctrl_op_done),
- .intr_op_error_o (intr_flash_ctrl_op_error),
+
+ // [12]: recov_err
+ // [13]: recov_mp_err
+ // [14]: recov_ecc_err
+ .alert_tx_o ( alert_tx[14:12] ),
+ .alert_rx_i ( alert_rx[14:12] ),
// Inter-module signals
.flash_o(flash_ctrl_flash_req),
@@ -1376,10 +1380,10 @@
.RndCnstMskgChunkLfsrPerm(aes_pkg::RndCnstMskgChunkLfsrPermDefault)
) u_aes (
- // [12]: recov_ctrl_update_err
- // [13]: fatal_fault
- .alert_tx_o ( alert_tx[13:12] ),
- .alert_rx_i ( alert_rx[13:12] ),
+ // [15]: recov_ctrl_update_err
+ // [16]: fatal_fault
+ .alert_tx_o ( alert_tx[16:15] ),
+ .alert_rx_i ( alert_rx[16:15] ),
// Inter-module signals
.idle_o(clkmgr_idle[0]),
@@ -1448,10 +1452,10 @@
// Interrupt
.intr_op_done_o (intr_keymgr_op_done),
- // [14]: fault_err
- // [15]: operation_err
- .alert_tx_o ( alert_tx[15:14] ),
- .alert_rx_i ( alert_rx[15:14] ),
+ // [17]: fault_err
+ // [18]: operation_err
+ .alert_tx_o ( alert_tx[18:17] ),
+ .alert_rx_i ( alert_rx[18:17] ),
// Inter-module signals
.edn_o(),
@@ -1504,9 +1508,9 @@
.intr_es_health_test_failed_o (intr_entropy_src_es_health_test_failed),
.intr_es_fifo_err_o (intr_entropy_src_es_fifo_err),
- // [16]: recov_alert_count_met
- .alert_tx_o ( alert_tx[16:16] ),
- .alert_rx_i ( alert_rx[16:16] ),
+ // [19]: recov_alert_count_met
+ .alert_tx_o ( alert_tx[19:19] ),
+ .alert_rx_i ( alert_rx[19:19] ),
// Inter-module signals
.entropy_src_hw_if_i(csrng_entropy_src_hw_if_req),
@@ -1561,9 +1565,9 @@
.RndCnstSramNonce(RndCnstSramCtrlMainSramNonce)
) u_sram_ctrl_main (
- // [17]: fatal_parity_error
- .alert_tx_o ( alert_tx[17:17] ),
- .alert_rx_i ( alert_rx[17:17] ),
+ // [20]: fatal_parity_error
+ .alert_tx_o ( alert_tx[20:20] ),
+ .alert_rx_i ( alert_rx[20:20] ),
// Inter-module signals
.sram_otp_key_o(otp_ctrl_sram_otp_key_req[0]),
@@ -1586,10 +1590,10 @@
// Interrupt
.intr_done_o (intr_otbn_done),
- // [18]: fatal
- // [19]: recov
- .alert_tx_o ( alert_tx[19:18] ),
- .alert_rx_i ( alert_rx[19:18] ),
+ // [21]: fatal
+ // [22]: recov
+ .alert_tx_o ( alert_tx[22:21] ),
+ .alert_rx_i ( alert_rx[22:21] ),
// Inter-module signals
.idle_o(clkmgr_idle[3]),
@@ -1647,7 +1651,6 @@
intr_hmac_hmac_err,
intr_hmac_fifo_empty,
intr_hmac_hmac_done,
- intr_flash_ctrl_op_error,
intr_flash_ctrl_op_done,
intr_flash_ctrl_rd_lvl,
intr_flash_ctrl_rd_full,
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.c b/hw/top_earlgrey/sw/autogen/top_earlgrey.c
index 6593e50..4365fe5 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.c
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.c
@@ -11,7 +11,7 @@
* `top_earlgrey_plic_peripheral_t`.
*/
const top_earlgrey_plic_peripheral_t
- top_earlgrey_plic_interrupt_for_peripheral[123] = {
+ top_earlgrey_plic_interrupt_for_peripheral[122] = {
[kTopEarlgreyPlicIrqIdNone] = kTopEarlgreyPlicPeripheralUnknown,
[kTopEarlgreyPlicIrqIdUart0TxWatermark] = kTopEarlgreyPlicPeripheralUart0,
[kTopEarlgreyPlicIrqIdUart0RxWatermark] = kTopEarlgreyPlicPeripheralUart0,
@@ -88,7 +88,6 @@
[kTopEarlgreyPlicIrqIdFlashCtrlRdFull] = kTopEarlgreyPlicPeripheralFlashCtrl,
[kTopEarlgreyPlicIrqIdFlashCtrlRdLvl] = kTopEarlgreyPlicPeripheralFlashCtrl,
[kTopEarlgreyPlicIrqIdFlashCtrlOpDone] = kTopEarlgreyPlicPeripheralFlashCtrl,
- [kTopEarlgreyPlicIrqIdFlashCtrlOpError] = kTopEarlgreyPlicPeripheralFlashCtrl,
[kTopEarlgreyPlicIrqIdHmacHmacDone] = kTopEarlgreyPlicPeripheralHmac,
[kTopEarlgreyPlicIrqIdHmacFifoEmpty] = kTopEarlgreyPlicPeripheralHmac,
[kTopEarlgreyPlicIrqIdHmacHmacErr] = kTopEarlgreyPlicPeripheralHmac,
@@ -145,7 +144,7 @@
* `top_earlgrey_alert_peripheral_t`.
*/
const top_earlgrey_alert_peripheral_t
- top_earlgrey_alert_for_peripheral[20] = {
+ top_earlgrey_alert_for_peripheral[23] = {
[kTopEarlgreyAlertIdAesRecovCtrlUpdateErr] = kTopEarlgreyAlertPeripheralAes,
[kTopEarlgreyAlertIdAesFatalFault] = kTopEarlgreyAlertPeripheralAes,
[kTopEarlgreyAlertIdOtbnFatal] = kTopEarlgreyAlertPeripheralOtbn,
@@ -166,5 +165,8 @@
[kTopEarlgreyAlertIdEntropySrcRecovAlertCountMet] = kTopEarlgreyAlertPeripheralEntropySrc,
[kTopEarlgreyAlertIdSramCtrlMainFatalParityError] = kTopEarlgreyAlertPeripheralSramCtrlMain,
[kTopEarlgreyAlertIdSramCtrlRetFatalParityError] = kTopEarlgreyAlertPeripheralSramCtrlRet,
+ [kTopEarlgreyAlertIdFlashCtrlRecovErr] = kTopEarlgreyAlertPeripheralFlashCtrl,
+ [kTopEarlgreyAlertIdFlashCtrlRecovMpErr] = kTopEarlgreyAlertPeripheralFlashCtrl,
+ [kTopEarlgreyAlertIdFlashCtrlRecovEccErr] = kTopEarlgreyAlertPeripheralFlashCtrl,
};
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.h b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
index a8a05b2..8761150 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.h
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
@@ -739,54 +739,53 @@
kTopEarlgreyPlicIrqIdFlashCtrlRdFull = 73, /**< flash_ctrl_rd_full */
kTopEarlgreyPlicIrqIdFlashCtrlRdLvl = 74, /**< flash_ctrl_rd_lvl */
kTopEarlgreyPlicIrqIdFlashCtrlOpDone = 75, /**< flash_ctrl_op_done */
- kTopEarlgreyPlicIrqIdFlashCtrlOpError = 76, /**< flash_ctrl_op_error */
- kTopEarlgreyPlicIrqIdHmacHmacDone = 77, /**< hmac_hmac_done */
- kTopEarlgreyPlicIrqIdHmacFifoEmpty = 78, /**< hmac_fifo_empty */
- kTopEarlgreyPlicIrqIdHmacHmacErr = 79, /**< hmac_hmac_err */
- kTopEarlgreyPlicIrqIdAlertHandlerClassa = 80, /**< alert_handler_classa */
- kTopEarlgreyPlicIrqIdAlertHandlerClassb = 81, /**< alert_handler_classb */
- kTopEarlgreyPlicIrqIdAlertHandlerClassc = 82, /**< alert_handler_classc */
- kTopEarlgreyPlicIrqIdAlertHandlerClassd = 83, /**< alert_handler_classd */
- kTopEarlgreyPlicIrqIdNmiGenEsc0 = 84, /**< nmi_gen_esc0 */
- kTopEarlgreyPlicIrqIdNmiGenEsc1 = 85, /**< nmi_gen_esc1 */
- kTopEarlgreyPlicIrqIdNmiGenEsc2 = 86, /**< nmi_gen_esc2 */
- kTopEarlgreyPlicIrqIdUsbdevPktReceived = 87, /**< usbdev_pkt_received */
- kTopEarlgreyPlicIrqIdUsbdevPktSent = 88, /**< usbdev_pkt_sent */
- kTopEarlgreyPlicIrqIdUsbdevDisconnected = 89, /**< usbdev_disconnected */
- kTopEarlgreyPlicIrqIdUsbdevHostLost = 90, /**< usbdev_host_lost */
- kTopEarlgreyPlicIrqIdUsbdevLinkReset = 91, /**< usbdev_link_reset */
- kTopEarlgreyPlicIrqIdUsbdevLinkSuspend = 92, /**< usbdev_link_suspend */
- kTopEarlgreyPlicIrqIdUsbdevLinkResume = 93, /**< usbdev_link_resume */
- kTopEarlgreyPlicIrqIdUsbdevAvEmpty = 94, /**< usbdev_av_empty */
- kTopEarlgreyPlicIrqIdUsbdevRxFull = 95, /**< usbdev_rx_full */
- kTopEarlgreyPlicIrqIdUsbdevAvOverflow = 96, /**< usbdev_av_overflow */
- kTopEarlgreyPlicIrqIdUsbdevLinkInErr = 97, /**< usbdev_link_in_err */
- kTopEarlgreyPlicIrqIdUsbdevRxCrcErr = 98, /**< usbdev_rx_crc_err */
- kTopEarlgreyPlicIrqIdUsbdevRxPidErr = 99, /**< usbdev_rx_pid_err */
- kTopEarlgreyPlicIrqIdUsbdevRxBitstuffErr = 100, /**< usbdev_rx_bitstuff_err */
- kTopEarlgreyPlicIrqIdUsbdevFrame = 101, /**< usbdev_frame */
- kTopEarlgreyPlicIrqIdUsbdevConnected = 102, /**< usbdev_connected */
- kTopEarlgreyPlicIrqIdUsbdevLinkOutErr = 103, /**< usbdev_link_out_err */
- kTopEarlgreyPlicIrqIdPwrmgrWakeup = 104, /**< pwrmgr_wakeup */
- kTopEarlgreyPlicIrqIdOtbnDone = 105, /**< otbn_done */
- kTopEarlgreyPlicIrqIdKeymgrOpDone = 106, /**< keymgr_op_done */
- kTopEarlgreyPlicIrqIdKmacKmacDone = 107, /**< kmac_kmac_done */
- kTopEarlgreyPlicIrqIdKmacFifoEmpty = 108, /**< kmac_fifo_empty */
- kTopEarlgreyPlicIrqIdKmacKmacErr = 109, /**< kmac_kmac_err */
- kTopEarlgreyPlicIrqIdOtpCtrlOtpOperationDone = 110, /**< otp_ctrl_otp_operation_done */
- kTopEarlgreyPlicIrqIdOtpCtrlOtpError = 111, /**< otp_ctrl_otp_error */
- kTopEarlgreyPlicIrqIdCsrngCsCmdReqDone = 112, /**< csrng_cs_cmd_req_done */
- kTopEarlgreyPlicIrqIdCsrngCsEntropyReq = 113, /**< csrng_cs_entropy_req */
- kTopEarlgreyPlicIrqIdCsrngCsHwInstExc = 114, /**< csrng_cs_hw_inst_exc */
- kTopEarlgreyPlicIrqIdCsrngCsFifoErr = 115, /**< csrng_cs_fifo_err */
- kTopEarlgreyPlicIrqIdEdn0EdnCmdReqDone = 116, /**< edn0_edn_cmd_req_done */
- kTopEarlgreyPlicIrqIdEdn0EdnFifoErr = 117, /**< edn0_edn_fifo_err */
- kTopEarlgreyPlicIrqIdEdn1EdnCmdReqDone = 118, /**< edn1_edn_cmd_req_done */
- kTopEarlgreyPlicIrqIdEdn1EdnFifoErr = 119, /**< edn1_edn_fifo_err */
- kTopEarlgreyPlicIrqIdEntropySrcEsEntropyValid = 120, /**< entropy_src_es_entropy_valid */
- kTopEarlgreyPlicIrqIdEntropySrcEsHealthTestFailed = 121, /**< entropy_src_es_health_test_failed */
- kTopEarlgreyPlicIrqIdEntropySrcEsFifoErr = 122, /**< entropy_src_es_fifo_err */
- kTopEarlgreyPlicIrqIdLast = 122, /**< \internal The Last Valid Interrupt ID. */
+ kTopEarlgreyPlicIrqIdHmacHmacDone = 76, /**< hmac_hmac_done */
+ kTopEarlgreyPlicIrqIdHmacFifoEmpty = 77, /**< hmac_fifo_empty */
+ kTopEarlgreyPlicIrqIdHmacHmacErr = 78, /**< hmac_hmac_err */
+ kTopEarlgreyPlicIrqIdAlertHandlerClassa = 79, /**< alert_handler_classa */
+ kTopEarlgreyPlicIrqIdAlertHandlerClassb = 80, /**< alert_handler_classb */
+ kTopEarlgreyPlicIrqIdAlertHandlerClassc = 81, /**< alert_handler_classc */
+ kTopEarlgreyPlicIrqIdAlertHandlerClassd = 82, /**< alert_handler_classd */
+ kTopEarlgreyPlicIrqIdNmiGenEsc0 = 83, /**< nmi_gen_esc0 */
+ kTopEarlgreyPlicIrqIdNmiGenEsc1 = 84, /**< nmi_gen_esc1 */
+ kTopEarlgreyPlicIrqIdNmiGenEsc2 = 85, /**< nmi_gen_esc2 */
+ kTopEarlgreyPlicIrqIdUsbdevPktReceived = 86, /**< usbdev_pkt_received */
+ kTopEarlgreyPlicIrqIdUsbdevPktSent = 87, /**< usbdev_pkt_sent */
+ kTopEarlgreyPlicIrqIdUsbdevDisconnected = 88, /**< usbdev_disconnected */
+ kTopEarlgreyPlicIrqIdUsbdevHostLost = 89, /**< usbdev_host_lost */
+ kTopEarlgreyPlicIrqIdUsbdevLinkReset = 90, /**< usbdev_link_reset */
+ kTopEarlgreyPlicIrqIdUsbdevLinkSuspend = 91, /**< usbdev_link_suspend */
+ kTopEarlgreyPlicIrqIdUsbdevLinkResume = 92, /**< usbdev_link_resume */
+ kTopEarlgreyPlicIrqIdUsbdevAvEmpty = 93, /**< usbdev_av_empty */
+ kTopEarlgreyPlicIrqIdUsbdevRxFull = 94, /**< usbdev_rx_full */
+ kTopEarlgreyPlicIrqIdUsbdevAvOverflow = 95, /**< usbdev_av_overflow */
+ kTopEarlgreyPlicIrqIdUsbdevLinkInErr = 96, /**< usbdev_link_in_err */
+ kTopEarlgreyPlicIrqIdUsbdevRxCrcErr = 97, /**< usbdev_rx_crc_err */
+ kTopEarlgreyPlicIrqIdUsbdevRxPidErr = 98, /**< usbdev_rx_pid_err */
+ kTopEarlgreyPlicIrqIdUsbdevRxBitstuffErr = 99, /**< usbdev_rx_bitstuff_err */
+ kTopEarlgreyPlicIrqIdUsbdevFrame = 100, /**< usbdev_frame */
+ kTopEarlgreyPlicIrqIdUsbdevConnected = 101, /**< usbdev_connected */
+ kTopEarlgreyPlicIrqIdUsbdevLinkOutErr = 102, /**< usbdev_link_out_err */
+ kTopEarlgreyPlicIrqIdPwrmgrWakeup = 103, /**< pwrmgr_wakeup */
+ kTopEarlgreyPlicIrqIdOtbnDone = 104, /**< otbn_done */
+ kTopEarlgreyPlicIrqIdKeymgrOpDone = 105, /**< keymgr_op_done */
+ kTopEarlgreyPlicIrqIdKmacKmacDone = 106, /**< kmac_kmac_done */
+ kTopEarlgreyPlicIrqIdKmacFifoEmpty = 107, /**< kmac_fifo_empty */
+ kTopEarlgreyPlicIrqIdKmacKmacErr = 108, /**< kmac_kmac_err */
+ kTopEarlgreyPlicIrqIdOtpCtrlOtpOperationDone = 109, /**< otp_ctrl_otp_operation_done */
+ kTopEarlgreyPlicIrqIdOtpCtrlOtpError = 110, /**< otp_ctrl_otp_error */
+ kTopEarlgreyPlicIrqIdCsrngCsCmdReqDone = 111, /**< csrng_cs_cmd_req_done */
+ kTopEarlgreyPlicIrqIdCsrngCsEntropyReq = 112, /**< csrng_cs_entropy_req */
+ kTopEarlgreyPlicIrqIdCsrngCsHwInstExc = 113, /**< csrng_cs_hw_inst_exc */
+ kTopEarlgreyPlicIrqIdCsrngCsFifoErr = 114, /**< csrng_cs_fifo_err */
+ kTopEarlgreyPlicIrqIdEdn0EdnCmdReqDone = 115, /**< edn0_edn_cmd_req_done */
+ kTopEarlgreyPlicIrqIdEdn0EdnFifoErr = 116, /**< edn0_edn_fifo_err */
+ kTopEarlgreyPlicIrqIdEdn1EdnCmdReqDone = 117, /**< edn1_edn_cmd_req_done */
+ kTopEarlgreyPlicIrqIdEdn1EdnFifoErr = 118, /**< edn1_edn_fifo_err */
+ kTopEarlgreyPlicIrqIdEntropySrcEsEntropyValid = 119, /**< entropy_src_es_entropy_valid */
+ kTopEarlgreyPlicIrqIdEntropySrcEsHealthTestFailed = 120, /**< entropy_src_es_health_test_failed */
+ kTopEarlgreyPlicIrqIdEntropySrcEsFifoErr = 121, /**< entropy_src_es_fifo_err */
+ kTopEarlgreyPlicIrqIdLast = 121, /**< \internal The Last Valid Interrupt ID. */
} top_earlgrey_plic_irq_id_t;
/**
@@ -796,7 +795,7 @@
* `top_earlgrey_plic_peripheral_t`.
*/
extern const top_earlgrey_plic_peripheral_t
- top_earlgrey_plic_interrupt_for_peripheral[123];
+ top_earlgrey_plic_interrupt_for_peripheral[122];
/**
* PLIC Interrupt Target.
@@ -825,7 +824,8 @@
kTopEarlgreyAlertPeripheralEntropySrc = 6, /**< entropy_src */
kTopEarlgreyAlertPeripheralSramCtrlMain = 7, /**< sram_ctrl_main */
kTopEarlgreyAlertPeripheralSramCtrlRet = 8, /**< sram_ctrl_ret */
- kTopEarlgreyAlertPeripheralLast = 8, /**< \internal Final Alert peripheral */
+ kTopEarlgreyAlertPeripheralFlashCtrl = 9, /**< flash_ctrl */
+ kTopEarlgreyAlertPeripheralLast = 9, /**< \internal Final Alert peripheral */
} top_earlgrey_alert_peripheral_t;
/**
@@ -855,7 +855,10 @@
kTopEarlgreyAlertIdEntropySrcRecovAlertCountMet = 17, /**< entropy_src_recov_alert_count_met */
kTopEarlgreyAlertIdSramCtrlMainFatalParityError = 18, /**< sram_ctrl_main_fatal_parity_error */
kTopEarlgreyAlertIdSramCtrlRetFatalParityError = 19, /**< sram_ctrl_ret_fatal_parity_error */
- kTopEarlgreyAlertIdLast = 19, /**< \internal The Last Valid Alert ID. */
+ kTopEarlgreyAlertIdFlashCtrlRecovErr = 20, /**< flash_ctrl_recov_err */
+ kTopEarlgreyAlertIdFlashCtrlRecovMpErr = 21, /**< flash_ctrl_recov_mp_err */
+ kTopEarlgreyAlertIdFlashCtrlRecovEccErr = 22, /**< flash_ctrl_recov_ecc_err */
+ kTopEarlgreyAlertIdLast = 22, /**< \internal The Last Valid Alert ID. */
} top_earlgrey_alert_id_t;
/**
@@ -865,7 +868,7 @@
* `top_earlgrey_alert_peripheral_t`.
*/
extern const top_earlgrey_alert_peripheral_t
- top_earlgrey_alert_for_peripheral[20];
+ top_earlgrey_alert_for_peripheral[23];
#define PINMUX_PERIPH_INSEL_IDX_OFFSET 2