blob: d994ee09d05608e1e7ba3eb2e602bed11969f31a [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// ------------------- W A R N I N G: A U T O - G E N E R A T E D C O D E !! -------------------//
// PLEASE DO NOT HAND-EDIT THIS FILE. IT HAS BEEN AUTO-GENERATED WITH THE FOLLOWING COMMAND:
//
// util/topgen.py -t hw/top_earlgrey/data/top_earlgrey.hjson \
// -o hw/top_earlgrey/ \
// --hjson-only \
// --rnd_cnst_seed 4881560218908238235
{
name: earlgrey
type: top
rnd_cnst_seed: 4881560218908238235
datawidth: "32"
power:
{
domains:
[
Aon
"0"
]
default: "0"
}
clocks:
{
hier_paths:
{
top: clkmgr_aon_clocks.
ext: ""
lpg: clkmgr_aon_cg_en.
}
srcs:
[
{
name: main
aon: no
freq: "100000000"
ref: false
}
{
name: io
aon: no
freq: "96000000"
ref: false
}
{
name: usb
aon: no
freq: "48000000"
ref: false
}
{
name: aon
aon: yes
freq: "200000"
ref: true
}
]
derived_srcs:
[
{
name: io_div2
aon: no
freq: "48000000"
ref: false
div: "2"
src: io
}
{
name: io_div4
aon: no
freq: "24000000"
ref: false
div: "4"
src: io
}
]
groups:
[
{
name: ast
src: ext
sw_cg: no
unique: no
clocks:
{
clk_main_i: main
clk_io_i: io
clk_usb_i: usb
clk_aon_i: aon
}
}
{
name: powerup
src: top
sw_cg: no
unique: no
clocks:
{
clk_io_div4_powerup: io_div4
clk_aon_powerup: aon
clk_main_powerup: main
clk_io_powerup: io
clk_usb_powerup: usb
clk_io_div2_powerup: io_div2
}
}
{
name: trans
src: top
sw_cg: hint
unique: yes
clocks:
{
clk_main_aes: main
clk_main_hmac: main
clk_main_kmac: main
clk_main_otbn: main
}
}
{
name: infra
src: top
sw_cg: no
unique: no
clocks:
{
clk_io_div4_infra: io_div4
clk_main_infra: main
clk_usb_infra: usb
clk_io_infra: io
clk_io_div2_infra: io_div2
}
}
{
name: secure
src: top
sw_cg: no
unique: no
clocks:
{
clk_io_div4_secure: io_div4
clk_main_secure: main
clk_aon_secure: aon
}
}
{
name: peri
src: top
sw_cg: yes
unique: no
clocks:
{
clk_io_div4_peri: io_div4
clk_io_div2_peri: io_div2
clk_io_peri: io
clk_usb_peri: usb
clk_aon_peri: aon
}
}
{
name: timers
src: top
sw_cg: no
unique: no
clocks:
{
clk_io_div4_timers: io_div4
clk_aon_timers: aon
}
}
]
}
resets:
{
hier_paths:
{
top: rstmgr_aon_resets.
ext: ""
lpg: rstmgr_aon_rst_en.
}
nodes:
[
{
name: por_aon
gen: false
type: top
domains:
[
"0"
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_aon_n
clock: aon
}
{
name: lc_src
gen: false
type: int
domains: []
shadowed: false
sw: false
path: ""
clock: io_div4
}
{
name: sys_src
gen: false
type: int
domains: []
shadowed: false
sw: false
path: ""
clock: io_div4
}
{
name: por
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_n
parent: por_aon
clock: main
}
{
name: por_io
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_io_n
parent: por_aon
clock: io
}
{
name: por_io_div2
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_io_div2_n
parent: por_aon
clock: io_div2
}
{
name: por_io_div4
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_io_div4_n
parent: por_aon
clock: io_div4
}
{
name: por_usb
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_por_usb_n
parent: por_aon
clock: usb
}
{
name: lc
gen: true
type: top
domains:
[
"0"
Aon
]
shadowed: true
sw: false
path: rstmgr_aon_resets.rst_lc_n
parent: lc_src
clock: main
}
{
name: lc_aon
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_lc_aon_n
parent: lc_src
clock: aon
}
{
name: lc_io
gen: true
type: top
domains:
[
Aon
"0"
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_lc_io_n
parent: lc_src
clock: io
}
{
name: lc_io_div2
gen: true
type: top
domains:
[
Aon
"0"
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_lc_io_div2_n
parent: lc_src
clock: io_div2
}
{
name: lc_io_div4
gen: true
type: top
domains:
[
"0"
Aon
]
shadowed: true
sw: false
path: rstmgr_aon_resets.rst_lc_io_div4_n
parent: lc_src
clock: io_div4
}
{
name: lc_usb
gen: true
type: top
domains:
[
Aon
"0"
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_lc_usb_n
parent: lc_src
clock: usb
}
{
name: sys
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_sys_n
parent: sys_src
clock: main
}
{
name: sys_io_div4
gen: true
type: top
domains:
[
Aon
]
shadowed: false
sw: false
path: rstmgr_aon_resets.rst_sys_io_div4_n
parent: sys_src
clock: io_div4
}
{
name: spi_device
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_spi_device_n
parent: lc_src
clock: io_div4
}
{
name: spi_host0
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_spi_host0_n
parent: lc_src
clock: io
}
{
name: spi_host1
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_spi_host1_n
parent: lc_src
clock: io_div2
}
{
name: usb
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_usb_n
parent: lc_src
clock: usb
}
{
name: usb_aon
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_usb_aon_n
parent: lc_src
clock: aon
}
{
name: i2c0
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_i2c0_n
parent: lc_src
clock: io_div4
}
{
name: i2c1
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_i2c1_n
parent: lc_src
clock: io_div4
}
{
name: i2c2
gen: true
type: top
domains:
[
"0"
]
shadowed: false
sw: true
path: rstmgr_aon_resets.rst_i2c2_n
parent: lc_src
clock: io_div4
}
]
}
num_cores: "1"
module:
[
{
name: uart0
type: uart
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: uart0
default: ""
end_idx: -1
top_signame: uart0_tl
index: -1
}
]
base_addrs:
{
null: 0x40000000
}
}
{
name: uart1
type: uart
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: uart1
default: ""
end_idx: -1
top_signame: uart1_tl
index: -1
}
]
base_addrs:
{
null: 0x40010000
}
}
{
name: uart2
type: uart
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: uart2
default: ""
end_idx: -1
top_signame: uart2_tl
index: -1
}
]
base_addrs:
{
null: 0x40020000
}
}
{
name: uart3
type: uart
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: uart3
default: ""
end_idx: -1
top_signame: uart3_tl
index: -1
}
]
base_addrs:
{
null: 0x40030000
}
}
{
name: gpio
type: gpio
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
param_decl:
{
GpioAsyncOn: "1"
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
memory: {}
param_list:
[
{
name: GpioAsyncOn
desc: Instantiates 2-flop synchronizers on all GPIO inputs if set to 1.
type: bit
default: "1"
expose: "true"
name_top: GpioGpioAsyncOn
}
]
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: gpio
default: ""
end_idx: -1
top_signame: gpio_tl
index: -1
}
]
base_addrs:
{
null: 0x40040000
}
}
{
name: spi_device
type: spi_device
clock_srcs:
{
clk_i: io_div4
scan_clk_i: io_div2
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: spi_device
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
scan_clk_i: clkmgr_aon_clocks.clk_io_div2_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: ram_cfg
struct: ram_2p_cfg
package: prim_ram_2p_pkg
type: uni
act: rcv
width: 1
inst_name: spi_device
default: ""
top_signame: ast_ram_2p_cfg
index: -1
}
{
name: passthrough
struct: passthrough
package: spi_device_pkg
type: req_rsp
act: req
width: 1
inst_name: spi_device
default: ""
end_idx: -1
top_signame: spi_device_passthrough
index: -1
}
{
name: mbist_en
struct: logic
type: uni
act: rcv
width: 1
inst_name: spi_device
index: -1
}
{
name: sck_monitor
struct: logic
type: uni
act: req
width: 1
inst_name: spi_device
default: ""
package: ""
external: true
top_signame: sck_monitor
conn_type: false
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: spi_device
default: ""
end_idx: -1
top_signame: spi_device_tl
index: -1
}
]
base_addrs:
{
null: 0x40050000
}
}
{
name: i2c0
type: i2c
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: i2c0
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: i2c0
default: ""
end_idx: -1
top_signame: i2c0_tl
index: -1
}
]
base_addrs:
{
null: 0x40080000
}
}
{
name: i2c1
type: i2c
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: i2c1
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: i2c1
default: ""
end_idx: -1
top_signame: i2c1_tl
index: -1
}
]
base_addrs:
{
null: 0x40090000
}
}
{
name: i2c2
type: i2c
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: i2c2
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: i2c2
default: ""
end_idx: -1
top_signame: i2c2_tl
index: -1
}
]
base_addrs:
{
null: 0x400A0000
}
}
{
name: pattgen
type: pattgen
clock_srcs:
{
clk_i: io_div4
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: pattgen
default: ""
end_idx: -1
top_signame: pattgen_tl
index: -1
}
]
base_addrs:
{
null: 0x400E0000
}
}
{
name: rv_timer
type: rv_timer
clock_srcs:
{
clk_i: io_div4
}
clock_group: timers
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_timers
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: rv_timer
default: ""
end_idx: -1
top_signame: rv_timer_tl
index: -1
}
]
base_addrs:
{
null: 0x40100000
}
}
{
name: otp_ctrl
type: otp_ctrl
clock_srcs:
{
clk_i: io_div4
clk_edn_i: main
}
clock_group: secure
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
rst_edn_ni:
{
name: lc
domain: "0"
}
}
base_addrs:
{
core: 0x40130000
prim: 0x40132000
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_edn_i: clkmgr_aon_clocks.clk_main_secure
}
domain:
[
"0"
]
param_decl: {}
memory: {}
param_list:
[
{
name: MemInitFile
desc: VMEM file to initialize the OTP macro.
type: ""
default: '''""'''
expose: "true"
name_top: OtpCtrlMemInitFile
}
{
name: RndCnstLfsrSeed
desc: Compile-time random bits for initial LFSR seed
type: otp_ctrl_pkg::lfsr_seed_t
randcount: 40
randtype: data
name_top: RndCnstOtpCtrlLfsrSeed
default: 0xcb0157a3ac
randwidth: 40
}
{
name: RndCnstLfsrPerm
desc: Compile-time random permutation for LFSR output
type: otp_ctrl_pkg::lfsr_perm_t
randcount: 40
randtype: perm
name_top: RndCnstOtpCtrlLfsrPerm
default: 0x3946df8032263d64e474a1a110541e61a55770d0a33110222592c19479d2
randwidth: 240
}
{
name: RndCnstScrmblKeyInit
desc: Compile-time random permutation for scrambling key/nonce register reset value
type: otp_ctrl_pkg::scrmbl_key_init_t
randcount: 256
randtype: data
name_top: RndCnstOtpCtrlScrmblKeyInit
default: 0x605fefe9977b00b6fdc21d577a172d047dcf0eebbdd268afd4e2506df1d0603f
randwidth: 256
}
]
inter_signal_list:
[
{
name: otp_ext_voltage_h
struct: ""
type: io
act: none
width: 1
default: "'0"
inst_name: otp_ctrl
package: ""
external: true
top_signame: otp_ext_voltage_h
conn_type: false
index: -1
}
{
name: otp_ast_pwr_seq
desc: Power sequencing signals to AST (VDD domain).
struct: otp_ast_req
package: otp_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: otp_ctrl
external: true
top_signame: otp_ctrl_otp_ast_pwr_seq
conn_type: false
index: -1
}
{
name: otp_ast_pwr_seq_h
desc: Power sequencing signals coming from AST (VCC domain).
struct: otp_ast_rsp
package: otp_ctrl_pkg
type: uni
act: rcv
width: 1
default: "'0"
inst_name: otp_ctrl
external: true
top_signame: otp_ctrl_otp_ast_pwr_seq_h
conn_type: false
index: -1
}
{
name: edn
desc: Entropy request to the entropy distribution network for LFSR reseeding and ephemeral key derivation.
struct: edn
package: edn_pkg
type: req_rsp
act: req
width: 1
inst_name: otp_ctrl
default: ""
top_signame: edn0_edn
index: 1
}
{
name: pwr_otp
desc: Initialization request/acknowledge from/to power manager.
struct: pwr_otp
package: pwrmgr_pkg
type: req_rsp
act: rsp
width: 1
default: "'0"
inst_name: otp_ctrl
top_signame: pwrmgr_aon_pwr_otp
index: -1
}
{
name: lc_otp_vendor_test
desc: Vendor test control signals from/to the life cycle TAP.
struct: lc_otp_vendor_test
package: otp_ctrl_pkg
type: req_rsp
act: rsp
width: 1
default: "'0"
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_otp_vendor_test
index: -1
}
{
name: lc_otp_program
desc: Life cycle state transition interface.
struct: lc_otp_program
package: otp_ctrl_pkg
type: req_rsp
act: rsp
width: 1
default: "'0"
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_otp_program
index: -1
}
{
name: otp_lc_data
desc:
'''
Life cycle state output holding the current life cycle state,
the value of the transition counter and the tokens needed for life cycle transitions.
'''
struct: otp_lc_data
package: otp_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: otp_ctrl
end_idx: -1
top_type: broadcast
top_signame: otp_ctrl_otp_lc_data
index: -1
}
{
name: lc_escalate_en
desc:
'''
Life cycle escalation enable coming from life cycle controller.
This signal moves all FSMs within OTP into the error state.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_escalate_en
index: -1
}
{
name: lc_creator_seed_sw_rw_en
desc:
'''
Provision enable qualifier coming from life cycle controller.
This signal enables SW read / write access to the RMA_TOKEN and CREATOR_ROOT_KEY_SHARE0 and CREATOR_ROOT_KEY_SHARE1.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_creator_seed_sw_rw_en
index: -1
}
{
name: lc_seed_hw_rd_en
desc:
'''
Seed read enable coming from life cycle controller.
This signal enables HW read access to the CREATOR_ROOT_KEY_SHARE0 and CREATOR_ROOT_KEY_SHARE1.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_seed_hw_rd_en
index: -1
}
{
name: lc_dft_en
desc:
'''
Test enable qualifier coming from from life cycle controller.
This signals enables the TL-UL access port to the proprietary OTP IP.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_dft_en
index: -1
}
{
name: lc_check_byp_en
desc:
'''
Life cycle partition check bypass signal.
This signal causes the life cycle partition to bypass consistency checks during life cycle state transitions in order to prevent spurious consistency check failures.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: otp_ctrl
top_signame: lc_ctrl_lc_check_byp_en
index: -1
}
{
name: otp_keymgr_key
desc: Key output to the key manager holding CREATOR_ROOT_KEY_SHARE0 and CREATOR_ROOT_KEY_SHARE1.
struct: otp_keymgr_key
package: otp_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: otp_ctrl
end_idx: -1
top_type: broadcast
top_signame: otp_ctrl_otp_keymgr_key
index: -1
}
{
name: flash_otp_key
desc: Key derivation interface for FLASH scrambling.
struct: flash_otp_key
package: otp_ctrl_pkg
type: req_rsp
act: rsp
width: 1
default: "'0"
inst_name: otp_ctrl
top_signame: flash_ctrl_otp
index: -1
}
{
name: sram_otp_key
desc: Array with key derivation interfaces for SRAM scrambling devices.
struct: sram_otp_key
package: otp_ctrl_pkg
type: req_rsp
act: rsp
width: 3
default: "'0"
inst_name: otp_ctrl
end_idx: -1
top_type: one-to-N
top_signame: otp_ctrl_sram_otp_key
index: -1
}
{
name: otbn_otp_key
desc: Key derivation interface for OTBN scrambling devices.
struct: otbn_otp_key
package: otp_ctrl_pkg
type: req_rsp
act: rsp
width: 1
default: "'0"
inst_name: otp_ctrl
end_idx: -1
top_signame: otp_ctrl_otbn_otp_key
index: -1
}
{
name: otp_hw_cfg
desc: Output of the HW_CFG partition.
struct: otp_hw_cfg
package: otp_ctrl_part_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: otp_ctrl
top_signame: otp_ctrl_otp_hw_cfg
index: -1
}
{
name: obs_ctrl
desc: AST observability control signals.
struct: ast_obs_ctrl
package: ast_pkg
type: uni
act: rcv
width: 1
inst_name: otp_ctrl
default: ""
top_signame: ast_obs_ctrl
index: -1
}
{
name: otp_obs
desc: AST observability bus.
struct: logic
type: uni
act: req
width: 8
inst_name: otp_ctrl
default: ""
package: ""
external: true
top_signame: otp_obs
conn_type: false
index: -1
}
{
name: core_tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: otp_ctrl
default: ""
end_idx: -1
top_signame: otp_ctrl_core_tl
index: -1
}
{
name: prim_tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: otp_ctrl
default: ""
end_idx: -1
top_signame: otp_ctrl_prim_tl
index: -1
}
]
}
{
name: lc_ctrl
type: lc_ctrl
clock_srcs:
{
clk_i: io_div4
clk_kmac_i: main
}
clock_group: secure
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
rst_kmac_ni:
{
name: lc
domain: "0"
}
}
param_decl:
{
ChipGen: 16'h 0000
ChipRev: 16'h 0000
IdcodeValue: jtag_id_pkg::JTAG_IDCODE
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_kmac_i: clkmgr_aon_clocks.clk_main_secure
}
domain:
[
"0"
]
memory: {}
param_list:
[
{
name: RndCnstLcKeymgrDivInvalid
desc: Compile-time random bits for lc state group diversification value
type: lc_ctrl_pkg::lc_keymgr_div_t
randcount: 128
randtype: data
name_top: RndCnstLcCtrlLcKeymgrDivInvalid
default: 0x9cd62f178adc74d53d8ad0b600e7a1dd
randwidth: 128
}
{
name: RndCnstLcKeymgrDivTestDevRma
desc: Compile-time random bits for lc state group diversification value
type: lc_ctrl_pkg::lc_keymgr_div_t
randcount: 128
randtype: data
name_top: RndCnstLcCtrlLcKeymgrDivTestDevRma
default: 0x2f1a43c03dd4ff9b887ab7521ca6cbd8
randwidth: 128
}
{
name: RndCnstLcKeymgrDivProduction
desc: Compile-time random bits for lc state group diversification value
type: lc_ctrl_pkg::lc_keymgr_div_t
randcount: 128
randtype: data
name_top: RndCnstLcCtrlLcKeymgrDivProduction
default: 0xd7107bab98b075743f7aeba81e1c4ec8
randwidth: 128
}
{
name: RndCnstInvalidTokens
desc: Compile-time random bits used for invalid tokens in the token mux
type: lc_ctrl_pkg::lc_token_mux_t
randcount: 1024
randtype: data
name_top: RndCnstLcCtrlInvalidTokens
default: 0xebdeee2911062e039f8c7e1afa78a1d42886cc89ae759cf865b22a5f28de2eca36afc2e8a402302cbdcf2b4819afaa0a11cb68371eef174d98315696c49a8ef53c96f11e4f43ffd421e456b4d6a9d1d2ab4a836f1545ebf50ff87bc3fe8473a3b8a698eb44c3b5821fc5bae3e1bd59723b69b2d7b5330424c30845eb1f7a5eef
randwidth: 1024
}
{
name: ChipGen
desc: Chip generation number.
type: logic [15:0]
default: 16'h 0000
expose: "true"
name_top: LcCtrlChipGen
}
{
name: ChipRev
desc: Chip revision number.
type: logic [15:0]
default: 16'h 0000
expose: "true"
name_top: LcCtrlChipRev
}
{
name: IdcodeValue
desc: JTAG ID code.
type: logic [31:0]
default: jtag_id_pkg::JTAG_IDCODE
expose: "true"
name_top: LcCtrlIdcodeValue
}
]
inter_signal_list:
[
{
name: jtag
struct: jtag
package: jtag_pkg
type: req_rsp
act: rsp
width: 1
inst_name: lc_ctrl
default: ""
top_signame: pinmux_aon_lc_jtag
index: -1
}
{
name: esc_scrap_state0_tx
struct: esc_tx
package: prim_esc_pkg
type: uni
act: rcv
width: 1
inst_name: lc_ctrl
default: ""
top_signame: alert_handler_esc_tx
index: 1
}
{
name: esc_scrap_state0_rx
struct: esc_rx
package: prim_esc_pkg
type: uni
act: req
width: 1
inst_name: lc_ctrl
default: ""
top_signame: alert_handler_esc_rx
index: 1
}
{
name: esc_scrap_state1_tx
struct: esc_tx
package: prim_esc_pkg
type: uni
act: rcv
width: 1
inst_name: lc_ctrl
default: ""
top_signame: alert_handler_esc_tx
index: 2
}
{
name: esc_scrap_state1_rx
struct: esc_rx
package: prim_esc_pkg
type: uni
act: req
width: 1
inst_name: lc_ctrl
default: ""
top_signame: alert_handler_esc_rx
index: 2
}
{
name: pwr_lc
struct: pwr_lc
package: pwrmgr_pkg
type: req_rsp
act: rsp
width: 1
inst_name: lc_ctrl
default: ""
top_signame: pwrmgr_aon_pwr_lc
index: -1
}
{
name: lc_otp_vendor_test
struct: lc_otp_vendor_test
package: otp_ctrl_pkg
type: req_rsp
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
end_idx: -1
top_signame: lc_ctrl_lc_otp_vendor_test
index: -1
}
{
name: otp_lc_data
struct: otp_lc_data
package: otp_ctrl_pkg
type: uni
act: rcv
width: 1
default: otp_ctrl_pkg::OTP_LC_DATA_DEFAULT
inst_name: lc_ctrl
top_signame: otp_ctrl_otp_lc_data
index: -1
}
{
name: lc_otp_program
struct: lc_otp_program
package: otp_ctrl_pkg
type: req_rsp
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
end_idx: -1
top_signame: lc_ctrl_lc_otp_program
index: -1
}
{
name: kmac_data
struct: app
package: kmac_pkg
type: req_rsp
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
top_signame: kmac_app
index: 1
}
{
name: lc_dft_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_dft_en
index: -1
}
{
name: lc_nvm_debug_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_nvm_debug_en
index: -1
}
{
name: lc_hw_debug_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_hw_debug_en
index: -1
}
{
name: lc_cpu_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_cpu_en
index: -1
}
{
name: lc_keymgr_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_keymgr_en
index: -1
}
{
name: lc_escalate_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_escalate_en
index: -1
}
{
name: lc_clk_byp_req
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_clk_byp_req
index: -1
}
{
name: lc_clk_byp_ack
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_clk_byp_ack
index: -1
}
{
name: lc_flash_rma_req
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_flash_rma_req
index: -1
}
{
name: lc_flash_rma_seed
struct: lc_flash_rma_seed
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
top_signame: flash_ctrl_rma_seed
index: -1
}
{
name: lc_flash_rma_ack
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
top_signame: otbn_lc_rma_ack
index: -1
}
{
name: lc_check_byp_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_check_byp_en
index: -1
}
{
name: lc_creator_seed_sw_rw_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_creator_seed_sw_rw_en
index: -1
}
{
name: lc_owner_seed_sw_rw_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_owner_seed_sw_rw_en
index: -1
}
{
name: lc_iso_part_sw_rd_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_iso_part_sw_rd_en
index: -1
}
{
name: lc_iso_part_sw_wr_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_iso_part_sw_wr_en
index: -1
}
{
name: lc_seed_hw_rd_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_seed_hw_rd_en
index: -1
}
{
name: lc_keymgr_div
struct: lc_keymgr_div
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
end_idx: -1
top_type: broadcast
top_signame: lc_ctrl_lc_keymgr_div
index: -1
}
{
name: otp_device_id
struct: otp_device_id
package: otp_ctrl_pkg
type: uni
act: rcv
width: 1
default: "'0"
inst_name: lc_ctrl
top_signame: lc_ctrl_otp_device_id
index: -1
}
{
name: otp_manuf_state
struct: otp_manuf_state
package: otp_ctrl_pkg
type: uni
act: rcv
width: 1
default: "'0"
inst_name: lc_ctrl
top_signame: lc_ctrl_otp_manuf_state
index: -1
}
{
name: hw_rev
struct: lc_hw_rev
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: lc_ctrl
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: lc_ctrl
default: ""
end_idx: -1
top_signame: lc_ctrl_tl
index: -1
}
]
base_addrs:
{
null: 0x40140000
}
}
{
name: alert_handler
type: alert_handler
clock_srcs:
{
clk_i: io_div4
clk_edn_i: main
}
clock_group: secure
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: "0"
}
rst_edn_ni:
{
name: lc
domain: "0"
}
}
attr: ipgen
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_edn_i: clkmgr_aon_clocks.clk_main_secure
}
domain:
[
"0"
]
param_decl: {}
memory: {}
param_list:
[
{
name: RndCnstLfsrSeed
desc: Compile-time random bits for initial LFSR seed
type: alert_pkg::lfsr_seed_t
randcount: 32
randtype: data
name_top: RndCnstAlertHandlerLfsrSeed
default: 0x762a1f91
randwidth: 32
}
{
name: RndCnstLfsrPerm
desc: Compile-time random permutation for LFSR output
type: alert_pkg::lfsr_perm_t
randcount: 32
randtype: perm
name_top: RndCnstAlertHandlerLfsrPerm
default: 0x375ed89d2a1d32862f7a7785f940950cc1cbdb05
randwidth: 160
}
]
inter_signal_list:
[
{
name: crashdump
struct: alert_crashdump
package: alert_pkg
type: uni
act: req
width: 1
inst_name: alert_handler
default: ""
end_idx: -1
top_type: broadcast
top_signame: alert_handler_crashdump
index: -1
}
{
name: edn
struct: edn
package: edn_pkg
type: req_rsp
act: req
width: 1
inst_name: alert_handler
default: ""
top_signame: edn0_edn
index: 4
}
{
name: esc_rx
struct: esc_rx
package: prim_esc_pkg
type: uni
act: rcv
width: 4
inst_name: alert_handler
default: ""
end_idx: -1
top_type: one-to-N
top_signame: alert_handler_esc_rx
index: -1
}
{
name: esc_tx
struct: esc_tx
package: prim_esc_pkg
type: uni
act: req
width: 4
inst_name: alert_handler
default: ""
end_idx: -1
top_type: one-to-N
top_signame: alert_handler_esc_tx
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: alert_handler
default: ""
end_idx: -1
top_signame: alert_handler_tl
index: -1
}
]
base_addrs:
{
null: 0x40150000
}
}
{
name: spi_host0
type: spi_host
clock_srcs:
{
clk_i: io
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: spi_host0
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: passthrough
struct: passthrough
package: spi_device_pkg
type: req_rsp
act: rsp
width: 1
inst_name: spi_host0
default: ""
top_signame: spi_device_passthrough
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: spi_host0
default: ""
end_idx: -1
top_signame: spi_host0_tl
index: -1
}
]
base_addrs:
{
null: 0x40300000
}
}
{
name: spi_host1
type: spi_host
clock_srcs:
{
clk_i: io_div2
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: spi_host1
domain: "0"
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div2_peri
}
domain:
[
"0"
]
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: passthrough
struct: passthrough
package: spi_device_pkg
type: req_rsp
act: rsp
width: 1
inst_name: spi_host1
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: spi_host1
default: ""
end_idx: -1
top_signame: spi_host1_tl
index: -1
}
]
base_addrs:
{
null: 0x40310000
}
}
{
name: usbdev
type: usbdev
clock_srcs:
{
clk_i: usb
clk_aon_i: aon
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: usb
domain: "0"
}
rst_aon_ni:
{
name: usb_aon
domain: "0"
}
}
param_decl:
{
RcvrWakeTimeUs: "100"
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_usb_peri
clk_aon_i: clkmgr_aon_clocks.clk_aon_peri
}
domain:
[
"0"
]
memory: {}
param_list:
[
{
name: Stub
desc: Stub out the core of entropy_src logic
type: bit
default: "0"
expose: "true"
name_top: UsbdevStub
}
{
name: RcvrWakeTimeUs
desc: Maximum number of microseconds for the differential receiver to become operational
type: int
default: "100"
expose: "true"
name_top: UsbdevRcvrWakeTimeUs
}
]
inter_signal_list:
[
{
name: usb_rx_d
desc: USB RX data from an external differential receiver, if available
struct: logic
type: uni
act: rcv
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_rx_d
conn_type: false
index: -1
}
{
name: usb_tx_d
desc: USB transmit data value (not used if usb_tx_se0 is set)
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_tx_d
conn_type: false
index: -1
}
{
name: usb_tx_se0
desc: Force transmission of a USB single-ended zero (i.e. both D+ and D- are low) regardless of usb_tx_d
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_tx_se0
conn_type: false
index: -1
}
{
name: usb_tx_use_d_se0
desc: Use the usb_tx_d and usb_tx_se0 TX interface, instead of usb_dp_o and usb_dn_o
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_tx_use_d_se0
conn_type: false
index: -1
}
{
name: usb_dp_pullup
desc: USB D+ pullup control
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_dp_pullup
index: -1
}
{
name: usb_dn_pullup
desc: USB D- pullup control
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_dn_pullup
index: -1
}
{
name: usb_rx_enable
desc: USB differential receiver enable
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_rx_enable
conn_type: false
index: -1
}
{
name: usb_ref_val
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_ref_val
conn_type: false
index: -1
}
{
name: usb_ref_pulse
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
external: true
top_signame: usbdev_usb_ref_pulse
conn_type: false
index: -1
}
{
name: usb_aon_suspend_req
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_aon_suspend_req
index: -1
}
{
name: usb_aon_wake_ack
struct: logic
type: uni
act: req
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_aon_wake_ack
index: -1
}
{
name: usb_aon_bus_reset
struct: logic
type: uni
act: rcv
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_aon_bus_reset
index: -1
}
{
name: usb_aon_sense_lost
struct: logic
type: uni
act: rcv
width: 1
inst_name: usbdev
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: usbdev_usb_aon_sense_lost
index: -1
}
{
name: usb_aon_wake_detect_active
struct: logic
type: uni
act: rcv
width: 1
inst_name: usbdev
default: ""
package: ""
top_signame: pinmux_aon_usbdev_wake_detect_active
index: -1
}
{
name: ram_cfg
struct: ram_2p_cfg
package: prim_ram_2p_pkg
type: uni
act: rcv
width: 1
inst_name: usbdev
default: ""
top_signame: ast_ram_2p_cfg
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: usbdev
default: ""
end_idx: -1
top_signame: usbdev_tl
index: -1
}
]
base_addrs:
{
null: 0x40320000
}
}
{
name: pwrmgr_aon
type: pwrmgr
clock_group: powerup
clock_srcs:
{
clk_i: io_div4
clk_slow_i: aon
clk_lc_i: io_div4
clk_esc_i:
{
clock: io_div4
group: secure
}
}
reset_connections:
{
rst_ni:
{
name: por_io_div4
domain: Aon
}
rst_main_ni:
{
name: por_aon
domain: "0"
}
rst_lc_ni:
{
name: lc_io_div4
domain: Aon
}
rst_esc_ni:
{
name: lc_io_div4
domain: Aon
}
rst_slow_ni:
{
name: por_aon
domain: Aon
}
}
domain:
[
Aon
"0"
]
attr: templated
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_slow_i: clkmgr_aon_clocks.clk_aon_powerup
clk_lc_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_esc_i: clkmgr_aon_clocks.clk_io_div4_secure
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: pwr_ast
struct: pwr_ast
package: pwrmgr_pkg
type: req_rsp
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
external: true
top_signame: pwrmgr_ast
conn_type: false
index: -1
}
{
name: pwr_rst
struct: pwr_rst
package: pwrmgr_pkg
type: req_rsp
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_signame: pwrmgr_aon_pwr_rst
index: -1
}
{
name: pwr_clk
struct: pwr_clk
package: pwrmgr_pkg
type: req_rsp
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_signame: pwrmgr_aon_pwr_clk
index: -1
}
{
name: pwr_otp
struct: pwr_otp
package: pwrmgr_pkg
type: req_rsp
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_signame: pwrmgr_aon_pwr_otp
index: -1
}
{
name: pwr_lc
struct: pwr_lc
package: pwrmgr_pkg
type: req_rsp
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_signame: pwrmgr_aon_pwr_lc
index: -1
}
{
name: pwr_flash
struct: pwr_flash
package: pwrmgr_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_type: broadcast
top_signame: pwrmgr_aon_pwr_flash
index: -1
}
{
name: esc_rst_tx
struct: esc_tx
package: prim_esc_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: alert_handler_esc_tx
index: 3
}
{
name: esc_rst_rx
struct: esc_rx
package: prim_esc_pkg
type: uni
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: alert_handler_esc_rx
index: 3
}
{
name: pwr_cpu
struct: pwr_cpu
package: pwrmgr_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: rv_core_ibex_pwrmgr
index: -1
}
{
name: wakeups
struct: logic
type: uni
act: rcv
width: 6
inst_name: pwrmgr_aon
default: ""
package: ""
end_idx: -1
top_type: one-to-N
top_signame: pwrmgr_aon_wakeups
index: -1
}
{
name: rstreqs
struct: logic
type: uni
act: rcv
width: 2
inst_name: pwrmgr_aon
default: ""
package: ""
end_idx: -1
top_type: one-to-N
top_signame: pwrmgr_aon_rstreqs
index: -1
}
{
name: ndmreset_req
struct: logic
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
package: ""
top_signame: rv_dm_ndmreset_req
index: -1
}
{
name: strap
struct: logic
type: uni
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: pwrmgr_aon_strap
index: -1
}
{
name: low_power
struct: logic
type: uni
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
package: ""
end_idx: -1
top_type: broadcast
top_signame: pwrmgr_aon_low_power
index: -1
}
{
name: rom_ctrl
struct: pwrmgr_data
package: rom_ctrl_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: rom_ctrl_pwrmgr_data
index: -1
}
{
name: fetch_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_type: broadcast
top_signame: pwrmgr_aon_fetch_en
index: -1
}
{
name: lc_dft_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: lc_ctrl_lc_dft_en
index: -1
}
{
name: lc_hw_debug_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: lc_ctrl_lc_hw_debug_en
index: -1
}
{
name: sw_rst_req
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
inst_name: pwrmgr_aon
default: ""
top_signame: rstmgr_aon_sw_rst_req
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: pwrmgr_aon
default: ""
end_idx: -1
top_signame: pwrmgr_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40400000
}
}
{
name: rstmgr_aon
type: rstmgr
clock_srcs:
{
clk_i:
{
clock: io_div4
group: powerup
}
clk_por_i: io_div4
clk_aon_i: aon
clk_main_i: main
clk_io_i: io
clk_usb_i: usb
clk_io_div2_i: io_div2
clk_io_div4_i: io_div4
}
clock_group: powerup
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_por_ni:
{
name: por_io_div4
domain: Aon
}
}
domain:
[
Aon
"0"
]
attr: templated
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_por_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_aon_i: clkmgr_aon_clocks.clk_aon_powerup
clk_main_i: clkmgr_aon_clocks.clk_main_powerup
clk_io_i: clkmgr_aon_clocks.clk_io_powerup
clk_usb_i: clkmgr_aon_clocks.clk_usb_powerup
clk_io_div2_i: clkmgr_aon_clocks.clk_io_div2_powerup
clk_io_div4_i: clkmgr_aon_clocks.clk_io_div4_powerup
}
param_decl: {}
memory: {}
param_list:
[
{
name: SecCheck
desc:
'''
When 1, enable rstmgr reset consistency checks.
When 0, there are no consistency checks.
'''
type: bit
default: 1'b1
expose: "true"
name_top: SecRstmgrAonCheck
}
{
name: SecMaxSyncDelay
desc: The maximum synchronization delay for parent / child reset checks.
type: int
default: "2"
expose: "true"
name_top: SecRstmgrAonMaxSyncDelay
}
]
inter_signal_list:
[
{
name: por_n
desc:
'''
Root power on reset signals from ast.
There is one root reset signal for each core power domain.
'''
struct: logic
type: uni
act: rcv
width: 2
inst_name: rstmgr_aon
default: ""
package: ""
external: true
top_signame: por_n
conn_type: false
index: -1
}
{
name: pwr
desc:
'''
Reset request signals from power manager.
Power manager can request for specific domains of the lc/sys reset tree to assert.
'''
struct: pwr_rst
type: req_rsp
act: rsp
width: 1
inst_name: rstmgr_aon
default: ""
package: pwrmgr_pkg
top_signame: pwrmgr_aon_pwr_rst
index: -1
}
{
name: resets
desc: Leaf resets fed to the system.
struct: rstmgr_out
package: rstmgr_pkg
type: uni
act: req
width: 1
inst_name: rstmgr_aon
default: ""
top_signame: rstmgr_aon_resets
index: -1
}
{
name: rst_en
desc: Low-power-group outputs used by alert handler.
struct: rstmgr_rst_en
package: rstmgr_pkg
type: uni
act: req
width: 1
inst_name: rstmgr_aon
default: ""
top_signame: rstmgr_aon_rst_en
index: -1
}
{
name: alert_dump
desc: Alert handler crash dump information.
struct: alert_crashdump
package: alert_pkg
type: uni
act: rcv
width: 1
inst_name: rstmgr_aon
default: ""
top_signame: alert_handler_crashdump
index: -1
}
{
name: cpu_dump
desc: Main processing element crash dump information.
struct: cpu_crash_dump
package: rv_core_ibex_pkg
type: uni
act: rcv
width: 1
inst_name: rstmgr_aon
default: ""
top_signame: rv_core_ibex_crash_dump
index: -1
}
{
name: sw_rst_req
desc: Software requested system reset to pwrmgr.
struct: mubi4
package: prim_mubi_pkg
type: uni
act: req
width: 1
inst_name: rstmgr_aon
default: ""
end_idx: -1
top_type: broadcast
top_signame: rstmgr_aon_sw_rst_req
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: rstmgr_aon
default: ""
end_idx: -1
top_signame: rstmgr_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40410000
}
}
{
name: clkmgr_aon
type: clkmgr
clock_srcs:
{
clk_i: io_div4
clk_main_i:
{
group: ast
clock: main
}
clk_io_i:
{
group: ast
clock: io
}
clk_usb_i:
{
group: ast
clock: usb
}
clk_aon_i:
{
group: ast
clock: aon
}
}
clock_group: powerup
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
rst_io_ni:
{
name: lc_io
domain: Aon
}
rst_io_div2_ni:
{
name: lc_io_div2
domain: Aon
}
rst_io_div4_ni:
{
name: lc_io_div4
domain: Aon
}
rst_main_ni:
{
name: lc
domain: Aon
}
rst_usb_ni:
{
name: lc_usb
domain: Aon
}
rst_root_ni:
{
name: por_io_div4
domain: Aon
}
rst_root_io_ni:
{
name: por_io
domain: Aon
}
rst_root_io_div2_ni:
{
name: por_io_div2
domain: Aon
}
rst_root_io_div4_ni:
{
name: por_io_div4
domain: Aon
}
rst_root_main_ni:
{
name: por
domain: Aon
}
rst_root_usb_ni:
{
name: por_usb
domain: Aon
}
}
domain:
[
Aon
]
attr: templated
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_main_i: clk_main_i
clk_io_i: clk_io_i
clk_usb_i: clk_usb_i
clk_aon_i: clk_aon_i
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: clocks
struct: clkmgr_out
package: clkmgr_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
top_signame: clkmgr_aon_clocks
index: -1
}
{
name: cg_en
struct: clkmgr_cg_en
package: clkmgr_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
top_signame: clkmgr_aon_cg_en
index: -1
}
{
name: lc_hw_debug_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
inst_name: clkmgr_aon
default: ""
top_signame: lc_ctrl_lc_hw_debug_en
index: -1
}
{
name: io_clk_byp_req
struct: mubi4
package: prim_mubi_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: io_clk_byp_req
conn_type: false
index: -1
}
{
name: io_clk_byp_ack
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: io_clk_byp_ack
conn_type: false
index: -1
}
{
name: all_clk_byp_req
struct: mubi4
package: prim_mubi_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: all_clk_byp_req
conn_type: false
index: -1
}
{
name: all_clk_byp_ack
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: all_clk_byp_ack
conn_type: false
index: -1
}
{
name: hi_speed_sel
struct: mubi4
package: prim_mubi_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: hi_speed_sel
conn_type: false
index: -1
}
{
name: div_step_down_req
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: div_step_down_req
conn_type: false
index: -1
}
{
name: lc_clk_byp_req
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
inst_name: clkmgr_aon
default: ""
top_signame: lc_ctrl_lc_clk_byp_req
index: -1
}
{
name: lc_clk_byp_ack
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
top_signame: lc_ctrl_lc_clk_byp_ack
index: -1
}
{
name: jitter_en
struct: mubi4
package: prim_mubi_pkg
type: uni
act: req
width: 1
inst_name: clkmgr_aon
default: ""
external: true
top_signame: clk_main_jitter_en
conn_type: false
index: -1
}
{
name: pwr
struct: pwr_clk
type: req_rsp
act: rsp
width: 1
inst_name: clkmgr_aon
default: ""
package: pwrmgr_pkg
top_signame: pwrmgr_aon_pwr_clk
index: -1
}
{
name: idle
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 4
inst_name: clkmgr_aon
default: ""
end_idx: -1
top_type: one-to-N
top_signame: clkmgr_aon_idle
index: -1
}
{
name: calib_rdy
desc: Indicates clocks are calibrated and frequencies accurate
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
default: prim_mubi_pkg::MuBi4True
inst_name: clkmgr_aon
external: true
top_signame: calib_rdy
conn_type: false
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: clkmgr_aon
default: ""
end_idx: -1
top_signame: clkmgr_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40420000
}
}
{
name: sysrst_ctrl_aon
type: sysrst_ctrl
clock_srcs:
{
clk_i: io_div4
clk_aon_i: aon
}
clock_group: secure
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
}
domain:
[
Aon
]
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_aon_i: clkmgr_aon_clocks.clk_aon_secure
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: wkup_req
struct: logic
type: uni
act: req
width: 1
inst_name: sysrst_ctrl_aon
default: ""
package: ""
top_signame: pwrmgr_aon_wakeups
index: 0
}
{
name: rst_req
struct: logic
type: uni
act: req
width: 1
inst_name: sysrst_ctrl_aon
default: ""
package: ""
top_signame: pwrmgr_aon_rstreqs
index: 0
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: sysrst_ctrl_aon
default: ""
end_idx: -1
top_signame: sysrst_ctrl_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40430000
}
}
{
name: adc_ctrl_aon
type: adc_ctrl
clock_srcs:
{
clk_i: io_div4
clk_aon_i: aon
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
}
domain:
[
Aon
]
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
clk_aon_i: clkmgr_aon_clocks.clk_aon_peri
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: adc
struct: adc_ast
package: ast_pkg
type: req_rsp
act: req
width: 1
inst_name: adc_ctrl_aon
default: ""
external: true
top_signame: adc
conn_type: false
index: -1
}
{
name: wkup_req
struct: logic
type: uni
act: req
width: 1
inst_name: adc_ctrl_aon
default: ""
package: ""
top_signame: pwrmgr_aon_wakeups
index: 1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: adc_ctrl_aon
default: ""
end_idx: -1
top_signame: adc_ctrl_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40440000
}
}
{
name: pwm_aon
type: pwm
clock_srcs:
{
clk_i: io_div4
clk_core_i: aon
}
clock_group: peri
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_core_ni:
{
name: lc_aon
domain: Aon
}
}
domain:
[
Aon
]
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_peri
clk_core_i: clkmgr_aon_clocks.clk_aon_peri
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: pwm_aon
default: ""
end_idx: -1
top_signame: pwm_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40450000
}
}
{
name: pinmux_aon
type: pinmux
clock_srcs:
{
clk_i: io_div4
clk_aon_i: aon
}
clock_group: powerup
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
rst_sys_ni:
{
name: sys_io_div4
domain: Aon
}
}
domain:
[
Aon
]
attr: templated
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
clk_aon_i: clkmgr_aon_clocks.clk_aon_powerup
}
param_decl: {}
memory: {}
param_list:
[
{
name: TargetCfg
desc: Target specific pinmux configuration.
type: pinmux_pkg::target_cfg_t
default: pinmux_pkg::DefaultTargetCfg
expose: "true"
name_top: PinmuxAonTargetCfg
}
]
inter_signal_list:
[
{
name: lc_hw_debug_en
desc: Debug enable qualifier coming from life cycle controller, used for HW strap qualification.
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: pinmux_aon
top_signame: lc_ctrl_lc_hw_debug_en
index: -1
}
{
name: lc_dft_en
desc: Test enable qualifier coming from life cycle controller, used for HW strap qualification.
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: pinmux_aon
top_signame: lc_ctrl_lc_dft_en
index: -1
}
{
name: lc_escalate_en
desc:
'''
Escalation enable signal coming from life cycle controller, used for invalidating
the latched lc_hw_debug_en state inside the strap sampling logic.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: pinmux_aon
top_signame: lc_ctrl_lc_escalate_en
index: -1
}
{
name: lc_check_byp_en
desc:
'''
Check bypass enable signal coming from life cycle controller, used for invalidating
the latched lc_hw_debug_en state inside the strap sampling logic. This signal is asserted
whenever the life cycle controller performs a life cycle transition. Its main use is
to skip any background checks inside the life cycle partition of the OTP controller while
a life cycle transition is in progress.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: pinmux_aon
top_signame: lc_ctrl_lc_check_byp_en
index: -1
}
{
name: pinmux_hw_debug_en
desc:
'''
This is the latched version of lc_hw_debug_en_i. We use it exclusively to gate the JTAG
signals and TAP side of the RV_DM so that RV_DM can remain live during an NDM reset cycle.
'''
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: req
width: 1
default: lc_ctrl_pkg::Off
inst_name: pinmux_aon
end_idx: -1
top_type: broadcast
top_signame: pinmux_aon_pinmux_hw_debug_en
index: -1
}
{
name: lc_jtag
desc: Qualified JTAG signals for life cycle controller TAP.
struct: jtag
package: jtag_pkg
type: req_rsp
act: req
width: 1
inst_name: pinmux_aon
default: ""
end_idx: -1
top_signame: pinmux_aon_lc_jtag
index: -1
}
{
name: rv_jtag
desc: Qualified JTAG signals for RISC-V processor TAP.
struct: jtag
package: jtag_pkg
type: req_rsp
act: req
width: 1
inst_name: pinmux_aon
default: ""
end_idx: -1
top_signame: pinmux_aon_rv_jtag
index: -1
}
{
name: dft_jtag
desc: Qualified JTAG signals for DFT TAP.
struct: jtag
package: jtag_pkg
type: req_rsp
act: req
width: 1
inst_name: pinmux_aon
default: ""
top_signame: pinmux_aon_dft_jtag
index: -1
}
{
name: dft_strap_test
desc: Sampled DFT strap values, going to the DFT TAP.
struct: dft_strap_test_req
package: pinmux_pkg
type: uni
act: req
width: 1
default: "'0"
inst_name: pinmux_aon
external: true
top_signame: dft_strap_test
conn_type: false
index: -1
}
{
name: dft_hold_tap_sel
desc: TAP selection hold indication, asserted by the DFT TAP during boundary scan.
struct: logic
type: uni
act: rcv
width: 1
default: "'0"
inst_name: pinmux_aon
package: ""
external: true
top_signame: dft_hold_tap_sel
conn_type: false
index: -1
}
{
name: sleep_en
desc: Level signal that is asserted when the power manager enters sleep.
struct: logic
type: uni
act: rcv
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: pwrmgr_aon_low_power
index: -1
}
{
name: strap_en
desc: This signal is pulsed high by the power manager after reset in order to sample the HW straps.
struct: logic
type: uni
act: rcv
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: pwrmgr_aon_strap
index: -1
}
{
name: pin_wkup_req
desc: Wakeup request from wakeup detectors, to the power manager, running on the AON clock.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: pwrmgr_aon_wakeups
index: 2
}
{
name: usbdev_dppullup_en
desc: Pullup enable signal coming from the USB IP.
struct: logic
type: uni
act: rcv
width: 1
inst_name: pinmux_aon
default: ""
package: ""
top_signame: usbdev_usb_dp_pullup
index: -1
}
{
name: usbdev_dnpullup_en
desc: Pullup enable signal coming from the USB IP.
struct: logic
type: uni
act: rcv
width: 1
inst_name: pinmux_aon
default: ""
package: ""
top_signame: usbdev_usb_dn_pullup
index: -1
}
{
name: usb_dppullup_en
desc: " Pullup enable signal going to USB PHY, needs to be maintained in low-power mode."
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
external: true
top_signame: usb_dp_pullup_en
conn_type: false
index: -1
}
{
name: usb_dnpullup_en
desc: Pullup enable signal going to USB PHY, needs to be maintained in low-power mode.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
external: true
top_signame: usb_dn_pullup_en
conn_type: false
index: -1
}
{
name: usb_wkup_req
desc: Wakeup request from USB wakeup detector, going to the power manager, running on the AON clock.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: pwrmgr_aon_wakeups
index: 3
}
{
name: usbdev_suspend_req
desc: Indicates whether USB is in suspended state, coming from the USB device.
struct: logic
type: uni
act: rcv
width: 1
inst_name: pinmux_aon
default: ""
package: ""
top_signame: usbdev_usb_aon_suspend_req
index: -1
}
{
name: usbdev_wake_ack
desc: Acknowledges the USB wakeup request, coming from the USB device.
struct: logic
type: uni
act: rcv
width: 1
inst_name: pinmux_aon
default: ""
package: ""
top_signame: usbdev_usb_aon_wake_ack
index: -1
}
{
name: usbdev_bus_reset
desc: Event signal that indicates what happened while monitoring.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: usbdev_usb_aon_bus_reset
index: -1
}
{
name: usbdev_sense_lost
desc: Event signal that indicates what happened while monitoring.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
top_signame: usbdev_usb_aon_sense_lost
index: -1
}
{
name: usbdev_wake_detect_active
desc: State debug information.
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: pinmux_aon
package: ""
end_idx: -1
top_type: broadcast
top_signame: pinmux_aon_usbdev_wake_detect_active
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: pinmux_aon
default: ""
end_idx: -1
top_signame: pinmux_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40460000
}
}
{
name: aon_timer_aon
type: aon_timer
clock_srcs:
{
clk_i: io_div4
clk_aon_i: aon
}
clock_group: timers
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
}
domain:
[
Aon
]
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_timers
clk_aon_i: clkmgr_aon_clocks.clk_aon_timers
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: nmi_wdog_timer_bark
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: aon_timer_aon
package: ""
end_idx: -1
top_type: broadcast
top_signame: aon_timer_aon_nmi_wdog_timer_bark
index: -1
}
{
name: wkup_req
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: aon_timer_aon
package: ""
top_signame: pwrmgr_aon_wakeups
index: 4
}
{
name: aon_timer_rst_req
struct: logic
type: uni
act: req
width: 1
default: 1'b0
inst_name: aon_timer_aon
package: ""
top_signame: pwrmgr_aon_rstreqs
index: 1
}
{
name: lc_escalate_en
struct: lc_tx
package: lc_ctrl_pkg
type: uni
act: rcv
width: 1
default: lc_ctrl_pkg::Off
inst_name: aon_timer_aon
top_signame: lc_ctrl_lc_escalate_en
index: -1
}
{
name: sleep_mode
struct: logic
type: uni
act: rcv
width: 1
inst_name: aon_timer_aon
default: ""
package: ""
top_signame: pwrmgr_aon_low_power
index: -1
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: aon_timer_aon
default: ""
end_idx: -1
top_signame: aon_timer_aon_tl
index: -1
}
]
base_addrs:
{
null: 0x40470000
}
}
{
name: ast
type: ast
clock_srcs:
{
clk_ast_tlul_i:
{
clock: io_div4
group: infra
}
clk_ast_adc_i:
{
clock: aon
group: peri
}
clk_ast_alert_i:
{
clock: io_div4
group: secure
}
clk_ast_es_i:
{
clock: main
group: secure
}
clk_ast_rng_i:
{
clock: main
group: secure
}
clk_ast_usb_i:
{
clock: usb
group: peri
}
}
clock_group: secure
reset_connections:
{
rst_ast_tlul_ni:
{
name: lc_io_div4
domain: "0"
}
rst_ast_adc_ni:
{
name: lc_aon
domain: Aon
}
rst_ast_alert_ni:
{
name: lc_io_div4
domain: "0"
}
rst_ast_es_ni:
{
name: lc
domain: "0"
}
rst_ast_rng_ni:
{
name: lc
domain: "0"
}
rst_ast_usb_ni:
{
name: usb
domain: "0"
}
}
domain:
[
Aon
"0"
]
attr: reggen_only
clock_connections:
{
clk_ast_tlul_i: clkmgr_aon_clocks.clk_io_div4_infra
clk_ast_adc_i: clkmgr_aon_clocks.clk_aon_peri
clk_ast_alert_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_ast_es_i: clkmgr_aon_clocks.clk_main_secure
clk_ast_rng_i: clkmgr_aon_clocks.clk_main_secure
clk_ast_usb_i: clkmgr_aon_clocks.clk_usb_peri
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: ast
index: -1
}
]
base_addrs:
{
null: 0x40480000
}
}
{
name: sensor_ctrl
type: sensor_ctrl
clock_srcs:
{
clk_i: io_div4
clk_aon_i: aon
}
clock_group: secure
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_aon_ni:
{
name: lc_aon
domain: Aon
}
}
domain:
[
Aon
]
attr: reggen_top
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_secure
clk_aon_i: clkmgr_aon_clocks.clk_aon_secure
}
param_decl: {}
param_list: []
inter_signal_list:
[
{
name: ast_alert
struct: ast_alert
package: ast_pkg
type: req_rsp
act: rsp
width: 1
inst_name: sensor_ctrl
default: ""
external: true
top_signame: sensor_ctrl_ast_alert
conn_type: false
index: -1
}
{
name: ast_status
struct: ast_status
package: ast_pkg
type: uni
act: rcv
width: 1
inst_name: sensor_ctrl
default: ""
external: true
top_signame: sensor_ctrl_ast_status
conn_type: false
index: -1
}
{
name: ast_init_done
struct: mubi4
package: prim_mubi_pkg
type: uni
act: rcv
width: 1
default: prim_mubi_pkg::MuBi4True
inst_name: sensor_ctrl
external: true
top_signame: ast_init_done
conn_type: false
index: -1
}
{
name: ast2pinmux
struct: logic
type: uni
act: rcv
width: 9
inst_name: sensor_ctrl
default: ""
package: ""
external: true
top_signame: ast2pinmux
conn_type: false
index: -1
}
{
name: wkup_req
struct: logic
type: uni
act: req
width: 1
inst_name: sensor_ctrl
default: ""
package: ""
top_signame: pwrmgr_aon_wakeups
index: 5
}
{
name: tl
struct: tl
package: tlul_pkg
type: req_rsp
act: rsp
width: 1
inst_name: sensor_ctrl
default: ""
end_idx: -1
top_signame: sensor_ctrl_tl
index: -1
}
]
base_addrs:
{
null: 0x40490000
}
}
{
name: sram_ctrl_ret_aon
type: sram_ctrl
clock_srcs:
{
clk_i: io_div4
clk_otp_i: io_div4
}
clock_group: infra
reset_connections:
{
rst_ni:
{
name: lc_io_div4
domain: Aon
}
rst_otp_ni:
{
name: lc_io_div4
domain: Aon
}
}
domain:
[
Aon
]
param_decl:
{
InstrExec: "0"
}
base_addrs:
{
regs: 0x40500000
ram: 0x40600000
}
memory:
{
ram:
{
label: ram_ret_aon
swaccess: rw
data_intg_passthru: "true"
exec: True
byte_write: True
size: 0x1000
}
}
clock_connections:
{
clk_i: clkmgr_aon_clocks.clk_io_div4_infra
clk_otp_i: clkmgr_aon_clocks.clk_io_div4_infra
}
param_list:
[
{
name: RndCnstSramKey