Entity: rv_core_ibex
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0 *
Generics
| Generic name |
Type |
Value |
Description |
| NumAlerts |
logic [NumAlerts-1:0] |
undefined |
|
| PMPEnable |
bit |
1'b0 |
|
| PMPGranularity |
int unsigned |
0 |
|
| PMPNumRegions |
int unsigned |
4 |
|
| MHPMCounterNum |
int unsigned |
10 |
|
| MHPMCounterWidth |
int unsigned |
32 |
|
| RV32E |
bit |
0 |
|
| ibex_pkg |
ibex_pkg::rv32m_e |
ibex_pkg::RV32MSingleCycle |
|
| ibex_pkg |
ibex_pkg::rv32b_e |
ibex_pkg::RV32BNone |
|
| ibex_pkg |
ibex_pkg::regfile_e |
ibex_pkg::RegFileFF |
|
| BranchTargetALU |
bit |
1'b1 |
|
| WritebackStage |
bit |
1'b1 |
|
| ICache |
bit |
1'b0 |
|
| ICacheECC |
bit |
1'b0 |
|
| BranchPredictor |
bit |
1'b0 |
|
| DbgTriggerEn |
bit |
1'b1 |
|
| SecureIbex |
bit |
1'b0 |
|
| ibex_pkg |
ibex_pkg::lfsr_seed_t |
ibex_pkg::RndCnstLfsrSeedDefault |
|
| ibex_pkg |
ibex_pkg::lfsr_perm_t |
ibex_pkg::RndCnstLfsrPermDefault |
|
| DmHaltAddr |
int unsigned |
32'h1A110800 |
|
| DmExceptionAddr |
int unsigned |
32'h1A110808 |
|
| PipeLine |
bit |
1'b0 |
|
Ports
| Port name |
Direction |
Type |
Description |
| clk_i |
input |
|
Clock and Reset |
| rst_ni |
input |
|
|
| clk_esc_i |
input |
|
Clock domain for escalation receiver |
| rst_esc_ni |
input |
|
|
| rst_cpu_n_o |
output |
|
Reset feedback to rstmgr |
| ram_cfg_i |
input |
|
|
| hart_id_i |
input |
[31:0] |
|
| boot_addr_i |
input |
[31:0] |
|
| corei_tl_h_o |
output |
|
Instruction memory interface |
| corei_tl_h_i |
input |
|
|
| cored_tl_h_o |
output |
|
Data memory interface |
| cored_tl_h_i |
input |
|
|
| irq_software_i |
input |
|
Interrupt inputs |
| irq_timer_i |
input |
|
|
| irq_external_i |
input |
|
|
| esc_tx_i |
input |
|
Escalation input for NMI |
| esc_rx_o |
output |
|
|
| nmi_wdog_i |
input |
|
watchdog NMI input |
| debug_req_i |
input |
|
Debug Interface |
| crash_dump_o |
output |
|
Crash dump information |
| lc_cpu_en_i |
input |
|
CPU Control Signals |
| pwrmgr_cpu_en_i |
input |
|
|
| pwrmgr_o |
output |
|
|
| scan_rst_ni |
input |
|
dft bypass |
| scanmode_i |
input |
|
|
| cfg_tl_d_i |
input |
|
peripheral interface access |
| cfg_tl_d_o |
output |
|
|
| alert_rx_i |
input |
[NumAlerts-1:0] |
interrupts and alerts |
| alert_tx_o |
output |
[NumAlerts-1:0] |
|
Signals
| Name |
Type |
Description |
| reg2hw |
rv_core_ibex_cfg_reg2hw_t |
Register module |
| hw2reg |
rv_core_ibex_cfg_hw2reg_t |
|
| instr_req |
logic |
Instruction interface (internal) |
| instr_gnt |
logic |
|
| instr_rvalid |
logic |
|
| instr_addr |
logic [31:0] |
|
| instr_rdata |
logic [31:0] |
|
| instr_rdata_intg |
logic [6:0] |
|
| instr_err |
logic |
|
| data_req |
logic |
Data interface (internal) |
| data_gnt |
logic |
|
| data_rvalid |
logic |
|
| data_we |
logic |
|
| data_be |
logic [3:0] |
|
| data_addr |
logic [31:0] |
|
| data_wdata |
logic [31:0] |
|
| data_wdata_intg |
logic [6:0] |
|
| data_rdata |
logic [31:0] |
|
| data_rdata_intg |
logic [6:0] |
|
| data_err |
logic |
|
| tl_i_ibex2fifo |
tl_h2d_t |
Pipeline interfaces |
| tl_i_fifo2ibex |
tl_d2h_t |
|
| tl_d_ibex2fifo |
tl_h2d_t |
|
| tl_d_fifo2ibex |
tl_d2h_t |
|
| tl_d_o_int |
tlul_pkg::tl_h2d_t |
Intermediate TL signals to connect an sram used in simulations. |
| tl_d_i_int |
tlul_pkg::tl_d2h_t |
|
| rvfi_valid |
logic |
|
| rvfi_order |
logic [63:0] |
|
| rvfi_insn |
logic [31:0] |
|
| rvfi_trap |
logic |
|
| rvfi_halt |
logic |
|
| rvfi_intr |
logic |
|
| rvfi_mode |
logic [ 1:0] |
|
| rvfi_ixl |
logic [ 1:0] |
|
| rvfi_rs1_addr |
logic [ 4:0] |
|
| rvfi_rs2_addr |
logic [ 4:0] |
|
| rvfi_rs3_addr |
logic [ 4:0] |
|
| rvfi_rs1_rdata |
logic [31:0] |
|
| rvfi_rs2_rdata |
logic [31:0] |
|
| rvfi_rs3_rdata |
logic [31:0] |
|
| rvfi_rd_addr |
logic [ 4:0] |
|
| rvfi_rd_wdata |
logic [31:0] |
|
| rvfi_pc_rdata |
logic [31:0] |
|
| rvfi_pc_wdata |
logic [31:0] |
|
| rvfi_mem_addr |
logic [31:0] |
|
| rvfi_mem_rmask |
logic [ 3:0] |
|
| rvfi_mem_wmask |
logic [ 3:0] |
|
| rvfi_mem_rdata |
logic [31:0] |
|
| rvfi_mem_wdata |
logic [31:0] |
|
| ibus_intg_err |
logic |
integrity errors and core alert events |
| dbus_intg_err |
logic |
integrity errors and core alert events |
| alert_minor |
logic |
|
| alert_major |
logic |
|
| fatal_intg_event |
logic |
alert events to peripheral module |
| fatal_core_event |
logic |
|
| recov_core_event |
logic |
|
| ibus_region_cfg |
region_cfg_t [NumRegions-1:0] |
configurations for address translation |
| dbus_region_cfg |
region_cfg_t [NumRegions-1:0] |
|
| esc_irq_nm |
logic |
Escalation receiver that converts differential protocol into single ended signal. |
| alert_irq_nm |
logic |
Synchronize to fast Ibex clock domain. |
| wdog_irq_nm |
logic |
|
| irq_nm |
logic |
|
| lc_cpu_en |
lc_ctrl_pkg::lc_tx_t [0:0] |
|
| pwrmgr_cpu_en |
lc_ctrl_pkg::lc_tx_t [0:0] |
|
| instr_addr_trans |
logic [31:0] |
Convert ibex data/instruction bus to TL-UL
|
| data_addr_trans |
logic [31:0] |
|
| intg_err |
logic |
//////////////////////////////// Peripheral functions //////////////////////////////// |
| fatal_intg_err |
logic |
///////////////////// Error assignment ///////////////////// |
| fatal_core_err |
logic |
///////////////////// Error assignment ///////////////////// |
| recov_core_err |
logic |
///////////////////// Error assignment ///////////////////// |
| alert_test |
logic [NumAlerts-1:0] |
///////////////////// Alert generation ///////////////////// |
| alert_events |
logic [NumAlerts-1:0] |
|
Constants
| Name |
Type |
Value |
Description |
| FifoPass |
bit |
PipeLine ? 1'b0 : 1'b1 |
if pipeline=1, do not allow pass through and always break the path if pipeline is 0, passthrough the fifo completely |
| FifoDepth |
int unsigned |
PipeLine ? 2 : 0 |
|
| NumOutstandingReqs |
int |
ICache ? 8 : 2 |
ICache creates more outstanding transactions |
| AlertFatal |
bit [NumAlerts-1:0] |
undefined |
|
Instantiations
- u_prim_esc_receiver: prim_esc_receiver
- u_alert_nmi_sync: prim_flop_2sync
- u_wdog_nmi_sync: prim_flop_2sync
- u_pwrmgr_sync: prim_lc_sync
- u_ibus_trans: rv_core_addr_trans
- tl_adapter_host_i_ibex: tlul_adapter_host
- u_dbus_trans: rv_core_addr_trans
- tl_adapter_host_d_ibex: tlul_adapter_host
- u_illegal_preprocessor_branch_taken: illegal_preprocessor_branch_taken
Description
Induce a compilation error by instantiating a non-existent module.
- ibex_tracer_i: ibex_tracer
- u_reg_cfg: rv_core_ibex_cfg_reg_top