Entity: pwrmgr_fsm

Diagram

clk_i rst_ni clk_slow_i rst_slow_ni req_pwrup_i pwrup_cause_e pwrup_cause_i ack_pwrdn_i low_power_entry_i main_pd_ni [NumRstReqs:0] reset_reqs_i pwr_rst_rsp_t pwr_rst_i clk_en_status_i otp_done_i otp_idle_i lc_done_i lc_idle_i flash_idle_i rom_ctrl_done_i rom_ctrl_good_i ack_pwrup_o req_pwrdn_o wkup_o fall_through_o abort_o clr_hint_o clr_cfg_lock_o pwr_rst_req_t pwr_rst_o ips_clk_en_o otp_init_o lc_init_o strap_o low_power_o fetch_en_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 Fast FSM

Ports

Port name Direction Type Description
clk_i input
rst_ni input
clk_slow_i input
rst_slow_ni input
req_pwrup_i input interface with slow_fsm
pwrup_cause_i input pwrup_cause_e
ack_pwrup_o output
req_pwrdn_o output
ack_pwrdn_i input
low_power_entry_i input
main_pd_ni input
reset_reqs_i input [NumRstReqs:0]
wkup_o output generate wake interrupt
fall_through_o output
abort_o output
clr_hint_o output
clr_cfg_lock_o output
pwr_rst_o output pwr_rst_req_t rstmgr
pwr_rst_i input pwr_rst_rsp_t
ips_clk_en_o output clkmgr
clk_en_status_i input
otp_init_o output otp
otp_done_i input
otp_idle_i input
lc_init_o output lc
lc_done_i input
lc_idle_i input
flash_idle_i input flash
rom_ctrl_done_i input rom_ctrl
rom_ctrl_good_i input
strap_o output pinmux
low_power_o output
fetch_en_o output processing elements

Signals

Name Type Description
pd_n_rsts_asserted logic all powered down domains have resets asserted
all_rsts_asserted logic all domains have resets asserted
reset_valid logic resets are valid
reset_cause_q reset_cause_e
reset_cause_d reset_cause_e
reset_req logic reset request
strap_sampled logic strap sample should only happen on cold boot or when the the system goes through a reset cycle
fetch_en_q lc_ctrl_pkg::lc_tx_t disable processing element fetching
fetch_en_d lc_ctrl_pkg::lc_tx_t disable processing element fetching
state_d fast_pwr_state_e
state_q fast_pwr_state_e
reset_ongoing_q logic
reset_ongoing_d logic
req_pwrdn_q logic
req_pwrdn_d logic
ack_pwrup_q logic
ack_pwrup_d logic
ip_clk_en_q logic
ip_clk_en_d logic
rst_lc_req_q logic [PowerDomains-1:0]
rst_sys_req_q logic [PowerDomains-1:0]
rst_lc_req_d logic [PowerDomains-1:0]
rst_sys_req_d logic [PowerDomains-1:0]
otp_init logic
lc_init logic
low_power_q logic
low_power_d logic
rst_sys_src_n [PowerDomains-1:OffDomainSelStart]
slow_lc_done logic Life cycle broadcast may take time to propagate through the system. The sync below simulates that behavior using the slowest clock in the system.
lc_done logic

Constants

Name Type Value Description
OffDomainSelStart int ALWAYS_ON_DOMAIN + 1 when there are multiple on domains, the latter 1 should become another parameter

Processes

Type: always_ff

Type: always_ff

Type: always_comb

Instantiations