Entity: pwrmgr

Diagram

logic [NumAlerts-1:0] NumAlerts clk_slow_i clk_i rst_slow_ni rst_ni tl_i [NumAlerts-1:0] alert_rx_i pwr_ast_rsp_t pwr_ast_i pwr_rst_rsp_t pwr_rst_i pwr_clk_rsp_t pwr_clk_i pwr_otp_rsp_t pwr_otp_i pwr_lc_rsp_t pwr_lc_i pwr_flash_t pwr_flash_i pwr_cpu_t pwr_cpu_i [NumWkups-1:0] wakeups_i [NumRstReqs-1:0] rstreqs_i rom_ctrl_i esc_rst_tx_i tl_o [NumAlerts-1:0] alert_tx_o pwr_ast_req_t pwr_ast_o pwr_rst_req_t pwr_rst_o pwr_clk_req_t pwr_clk_o pwr_otp_req_t pwr_otp_o pwr_lc_req_t pwr_lc_o fetch_en_o strap_o low_power_o esc_rst_rx_o intr_wakeup_o

Description

Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0

Power Manager

Generics

Generic name Type Value Description
NumAlerts logic [NumAlerts-1:0] undefined

Ports

Port name Direction Type Description
clk_slow_i input Clocks and resets
clk_i input
rst_slow_ni input
rst_ni input
tl_i input Bus Interface
tl_o output
alert_rx_i input [NumAlerts-1:0] Alerts
alert_tx_o output [NumAlerts-1:0]
pwr_ast_i input pwr_ast_rsp_t AST interface
pwr_ast_o output pwr_ast_req_t
pwr_rst_i input pwr_rst_rsp_t rstmgr interface
pwr_rst_o output pwr_rst_req_t
pwr_clk_o output pwr_clk_req_t clkmgr interface
pwr_clk_i input pwr_clk_rsp_t
pwr_otp_i input pwr_otp_rsp_t otp interface
pwr_otp_o output pwr_otp_req_t
pwr_lc_i input pwr_lc_rsp_t life cycle interface
pwr_lc_o output pwr_lc_req_t
pwr_flash_i input pwr_flash_t flash interface
pwr_cpu_i input pwr_cpu_t processor interface
fetch_en_o output
wakeups_i input [NumWkups-1:0] peripherals wakeup and reset requests
rstreqs_i input [NumRstReqs-1:0]
strap_o output pinmux and other peripherals
low_power_o output
rom_ctrl_i input rom_ctrl interface
esc_rst_tx_i input escalation interface
esc_rst_rx_o output
intr_wakeup_o output

Signals

Name Type Description
esc_rst_req logic ////////////////////////// / escalation detections //////////////////////////
peri_reqs_raw pwr_peri_t ////////////////////////// / async declarations //////////////////////////
reg2hw pwrmgr_reg2hw_t ////////////////////////// / clk_i domain declarations //////////////////////////
hw2reg pwrmgr_hw2reg_t
peri_reqs_masked pwr_peri_t
req_pwrup logic
ack_pwrup logic
req_pwrdn logic
ack_pwrdn logic
pwrup_cause pwrup_cause_e
low_power_fall_through logic
low_power_abort logic
flash_rsp pwr_flash_t
otp_rsp pwr_otp_rsp_t
rom_ctrl_done logic
rom_ctrl_good logic
slow_wakeup_en logic [NumWkups-1:0] ////////////////////////// / clk_slow_i domain declarations ////////////////////////// Captured signals These signals, though on clk_i domain, are safe for clk_slow_i to use
slow_reset_en logic [NumRstReqs-1:0]
slow_ast pwr_ast_rsp_t
slow_peri_reqs pwr_peri_t
slow_peri_reqs_masked pwr_peri_t
slow_pwrup_cause pwrup_cause_e
slow_pwrup_cause_toggle logic
slow_req_pwrup logic
slow_ack_pwrup logic
slow_req_pwrdn logic
slow_ack_pwrdn logic
slow_main_pd_n logic
slow_io_clk_en logic
slow_core_clk_en logic
slow_usb_clk_en_lp logic
slow_usb_clk_en_active logic
alert_test logic [NumAlerts-1:0] ////////////////////////// / Register module //////////////////////////
alerts logic [NumAlerts-1:0] ////////////////////////// / Register module //////////////////////////
low_power_hint logic
lowpwr_cfg_wen logic
clr_hint logic
wkup logic
clr_cfg_lock logic
wake_info_wen logic ////////////////////////// / Wakeup Info Capture //////////////////////////
wake_info_data logic [TotalWakeWidth-1:0]

Processes

Type: always_ff

Instantiations

Description
//////////////////////////
/ cdc handling
//////////////////////////

Description
//////////////////////////
/ clk_slow FSM
//////////////////////////

Description
//////////////////////////
/ Interrupts
//////////////////////////
This interrupt is asserted whenever the fast FSM transitions
into active state. However, it does not assert during POR