Package: alert_pkg

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;
}