`define USE_POWER_PINS
module core_region
#(
parameter AXI_ADDR_WIDTH = 32,
parameter AXI_DATA_WIDTH = 64,
parameter AXI_ID_MASTER_WIDTH = 10,
parameter AXI_ID_SLAVE_WIDTH = 10,
parameter AXI_USER_WIDTH = 0,
// parameter DATA_RAM_SIZE = 32768, // in bytes
// parameter INSTR_RAM_SIZE = 32768, // in bytes
parameter DATA_RAM_SIZE = 2048, // in bytes
parameter INSTR_RAM_SIZE = 2048, // in bytes
parameter USE_ZERO_RISCY = 1,
parameter RISCY_RV32F = 0,
parameter ZERO_RV32M = 1,
parameter ZERO_RV32E = 0
)
(
`ifdef USE_POWER_PINS
vccd1, // User area 1 1.8V supply
vssd1, // User area 1 digital ground
`endif
clk,
rst_n,
testmode_i,
fetch_enable_i,
irq_i,
core_busy_o,
clock_gating_i,
boot_addr_i,
core_master_aw_addr,
core_master_aw_prot,
core_master_aw_region,
core_master_aw_len,
core_master_aw_size,
core_master_aw_burst,
core_master_aw_lock,
core_master_aw_cache,
core_master_aw_qos,
core_master_aw_id,
core_master_aw_user,
core_master_aw_ready,
core_master_aw_valid,
core_master_ar_addr,
core_master_ar_prot,
core_master_ar_region,
core_master_ar_len,
core_master_ar_size,
core_master_ar_burst,
core_master_ar_lock,
core_master_ar_cache,
core_master_ar_qos,
core_master_ar_id,
core_master_ar_user,
core_master_ar_ready,
core_master_ar_valid,
core_master_w_valid,
core_master_w_data,
core_master_w_strb,
core_master_w_user,
core_master_w_last,
core_master_w_ready,
core_master_r_data,
core_master_r_resp,
core_master_r_last,
core_master_r_id,
core_master_r_user,
core_master_r_ready,
core_master_r_valid,
core_master_b_resp,
core_master_b_id,
core_master_b_user,
core_master_b_ready,
core_master_b_valid,
dbg_master_aw_addr,
dbg_master_aw_prot,
dbg_master_aw_region,
dbg_master_aw_len,
dbg_master_aw_size,
dbg_master_aw_burst,
dbg_master_aw_lock,
dbg_master_aw_cache,
dbg_master_aw_qos,
dbg_master_aw_id,
dbg_master_aw_user,
dbg_master_aw_ready,
dbg_master_aw_valid,
dbg_master_ar_addr,
dbg_master_ar_prot,
dbg_master_ar_region,
dbg_master_ar_len,
dbg_master_ar_size,
dbg_master_ar_burst,
dbg_master_ar_lock,
dbg_master_ar_cache,
dbg_master_ar_qos,
dbg_master_ar_id,
dbg_master_ar_user,
dbg_master_ar_ready,
dbg_master_ar_valid,
dbg_master_w_valid,
dbg_master_w_data,
dbg_master_w_strb,
dbg_master_w_user,
dbg_master_w_last,
dbg_master_w_ready,
dbg_master_r_data,
dbg_master_r_resp,
dbg_master_r_last,
dbg_master_r_id,
dbg_master_r_user,
dbg_master_r_ready,
dbg_master_r_valid,
dbg_master_b_resp,
dbg_master_b_id,
dbg_master_b_user,
dbg_master_b_ready,
dbg_master_b_valid,
data_slave_aw_addr,
data_slave_aw_prot,
data_slave_aw_region,
data_slave_aw_len,
data_slave_aw_size,
data_slave_aw_burst,
data_slave_aw_lock,
data_slave_aw_cache,
data_slave_aw_qos,
data_slave_aw_id,
data_slave_aw_user,
data_slave_aw_ready,
data_slave_aw_valid,
data_slave_ar_addr,
data_slave_ar_prot,
data_slave_ar_region,
data_slave_ar_len,
data_slave_ar_size,
data_slave_ar_burst,
data_slave_ar_lock,
data_slave_ar_cache,
data_slave_ar_qos,
data_slave_ar_id,
data_slave_ar_user,
data_slave_ar_ready,
data_slave_ar_valid,
data_slave_w_valid,
data_slave_w_data,
data_slave_w_strb,
data_slave_w_user,
data_slave_w_last,
data_slave_w_ready,
data_slave_r_data,
data_slave_r_resp,
data_slave_r_last,
data_slave_r_id,
data_slave_r_user,
data_slave_r_ready,
data_slave_r_valid,
data_slave_b_resp,
data_slave_b_id,
data_slave_b_user,
data_slave_b_ready,
data_slave_b_valid,
instr_slave_aw_addr,
instr_slave_aw_prot,
instr_slave_aw_region,
instr_slave_aw_len,
instr_slave_aw_size,
instr_slave_aw_burst,
instr_slave_aw_lock,
instr_slave_aw_cache,
instr_slave_aw_qos,
instr_slave_aw_id,
instr_slave_aw_user,
instr_slave_aw_ready,
instr_slave_aw_valid,
instr_slave_ar_addr,
instr_slave_ar_prot,
instr_slave_ar_region,
instr_slave_ar_len,
instr_slave_ar_size,
instr_slave_ar_burst,
instr_slave_ar_lock,
instr_slave_ar_cache,
instr_slave_ar_qos,
instr_slave_ar_id,
instr_slave_ar_user,
instr_slave_ar_ready,
instr_slave_ar_valid,
instr_slave_w_valid,
instr_slave_w_data,
instr_slave_w_strb,
instr_slave_w_user,
instr_slave_w_last,
instr_slave_w_ready,
instr_slave_r_data,
instr_slave_r_resp,
instr_slave_r_last,
instr_slave_r_id,
instr_slave_r_user,
instr_slave_r_ready,
instr_slave_r_valid,
instr_slave_b_resp,
instr_slave_b_id,
instr_slave_b_user,
instr_slave_b_ready,
instr_slave_b_valid,
debug_req,
debug_gnt,
debug_rvalid,
debug_addr,
debug_we,
debug_wdata,
debug_rdata,
tck_i,
trstn_i,
tms_i,
tdi_i,
tdo_o
);
//parameter AXI_ADDR_WIDTH = 32;
//parameter AXI_DATA_WIDTH = 64;
//parameter AXI_ID_MASTER_WIDTH = 10;
//parameter AXI_ID_SLAVE_WIDTH = 10;
//parameter AXI_USER_WIDTH = 0;
parameter AXI_STRB_WIDTH = AXI_DATA_WIDTH / 8;
parameter ADDR_WIDTH = AXI_ADDR_WIDTH;
//parameter DATA_RAM_SIZE = 2048;
//parameter INSTR_RAM_SIZE = 2048;
//parameter USE_ZERO_RISCY = 1;
//parameter RISCY_RV32F = 0;
//parameter ZERO_RV32M = 1;
//parameter ZERO_RV32E = 0;
parameter AXI_ID_WIDTH = AXI_ID_MASTER_WIDTH;
inout wire vccd1;
inout wire vssd1;