Package: alert_pkg
- File: alert_pkg.sv
Description
Copyright lowRISC contributors.
Licensed under the Apache License, Version 2.0, see LICENSE for details.
SPDX-License-Identifier: Apache-2.0
Signals
Name | Type | Description |
---|---|---|
loc_alert_cause | logic [N_LOC_ALERT-1:0] | local alert cause bits |
class_trig | logic [N_CLASSES-1:0] | class trigger |
class_esc_trig | logic [N_CLASSES-1:0] | escalation trigger |
class_accum_cnt | logic [N_CLASSES-1:0][AccuCntDw-1:0] | current accumulator value |
class_esc_cnt | logic [N_CLASSES-1:0][EscCntDw-1:0] | current escalation counter value |
class_esc_state | cstate_e [N_CLASSES-1:0] | current escalation protocol state |
alert_pkg | endpackage |
Constants
Name | Type | Value | Description |
---|---|---|---|
NAlerts | int unsigned | alert_handler_reg_pkg::NAlerts | maximum 252 |
EscCntDw | int unsigned | alert_handler_reg_pkg::EscCntDw | maximum 32 |
AccuCntDw | int unsigned | alert_handler_reg_pkg::AccuCntDw | maximum 32 |
AsyncOn | bit [NAlerts-1:0] | alert_handler_reg_pkg::AsyncOn | enable async transitions for specific RX/TX pairs |
N_CLASSES | int unsigned | alert_handler_reg_pkg::N_CLASSES | common constants, do not change |
N_ESC_SEV | int unsigned | alert_handler_reg_pkg::N_ESC_SEV | |
N_PHASES | int unsigned | alert_handler_reg_pkg::N_PHASES | |
N_LOC_ALERT | int unsigned | alert_handler_reg_pkg::N_LOC_ALERT | |
PING_CNT_DW | int unsigned | alert_handler_reg_pkg::PING_CNT_DW | |
PHASE_DW | int unsigned | alert_handler_reg_pkg::PHASE_DW | |
CLASS_DW | int unsigned | alert_handler_reg_pkg::CLASS_DW | |
LfsrWidth | int | 32 | These LFSR parameters have been generated with $ util/design/gen-lfsr-seed.py --width 32 --seed 2700182644 |
RndCnstLfsrSeedDefault | lfsr_seed_t | 32'he96064e5 | |
RndCnstLfsrPermDefault | lfsr_perm_t | 160'hebd1e5d4a1cee5afdb866a9c7a0278b899020d31 | |
ALERT_CRASHDUMP_DEFAULT | alert_crashdump_t | logic [NAlerts-1:0] | Default for dangling connection |
Types
Name | Type | Description |
---|---|---|
cstate_e | enum logic [2:0] { Idle = 3'b000, Timeout = 3'b001, Terminal = 3'b011, Phase0 = 3'b100, Phase1 = 3'b101, Phase2 = 3'b110, Phase3 = 3'b111, FsmError = 3'b010} |
do not change the phase encoding |
lfsr_seed_t | logic [LfsrWidth-1:0] | |
lfsr_perm_t | logic [LfsrWidth-1:0][$clog2(LfsrWidth)-1:0] | |
cstate_e | struct packed { logic [NAlerts-1:0] alert_cause; logic [N_LOC_ALERT-1:0] loc_alert_cause; logic [N_CLASSES-1:0][AccuCntDw-1:0] class_accum_cnt; logic [N_CLASSES-1:0][EscCntDw-1:0] class_esc_cnt; cstate_e [N_CLASSES-1:0] class_esc_state; } |
struct containing the current alert handler state can be used to gather crashdump information in HW |
reg2hw_wrap_t | struct packed { logic shadowed_err_update; logic shadowed_err_storage; logic ping_enable; logic [PING_CNT_DW-1:0] ping_timeout_cyc; logic [NAlerts-1:0] alert_ping_en; logic [N_LOC_ALERT-1:0] loc_alert_en; logic [N_LOC_ALERT-1:0][CLASS_DW-1:0] loc_alert_class; logic [NAlerts-1:0] alert_en; logic [NAlerts-1:0][CLASS_DW-1:0] alert_class; logic [N_CLASSES-1:0] class_en; logic [N_CLASSES-1:0] class_clr; logic [N_CLASSES-1:0][AccuCntDw-1:0] class_accum_thresh; logic [N_CLASSES-1:0][EscCntDw-1:0] class_timeout_cyc; logic [N_CLASSES-1:0][N_PHASES-1:0][EscCntDw-1:0] class_phase_cyc; logic [N_CLASSES-1:0][N_ESC_SEV-1:0] class_esc_en; logic [N_CLASSES-1:0][N_ESC_SEV-1:0][PHASE_DW-1:0] class_esc_map; logic [N_CLASSES-1:0][PHASE_DW-1:0] class_crashdump_phase; } |