[Earlgrey] Generate TOP for Xbar Inter-module
Revised the collateral for Xbar Inter-module Connections.
Signed-off-by: Eunchan Kim <eunchan@opentitan.org>
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 2507a0d..26d73f5 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -358,6 +358,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: uart
+ width: 1
+ default: ""
+ top_signame: uart_tl
+ index: -1
+ }
+ ]
}
{
name: gpio
@@ -408,6 +423,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: gpio
+ width: 1
+ default: ""
+ top_signame: gpio_tl
+ index: -1
+ }
+ ]
}
{
name: spi_device
@@ -535,6 +565,21 @@
wakeup_list: []
scan: "true"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: spi_device
+ width: 1
+ default: ""
+ top_signame: spi_device_tl
+ index: -1
+ }
+ ]
}
{
name: flash_ctrl
@@ -661,6 +706,18 @@
inst_name: flash_ctrl
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: flash_ctrl
+ width: 1
+ default: ""
+ top_signame: flash_ctrl_tl
+ index: -1
+ }
]
}
{
@@ -698,6 +755,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rv_timer
+ width: 1
+ default: ""
+ top_signame: rv_timer_tl
+ index: -1
+ }
+ ]
}
{
name: aes
@@ -749,6 +821,18 @@
top_signame: aes_idle
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: aes
+ width: 1
+ default: ""
+ top_signame: aes_tl
+ index: -1
+ }
]
}
{
@@ -825,6 +909,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: hmac
+ width: 1
+ default: ""
+ top_signame: hmac_tl
+ index: -1
+ }
+ ]
}
{
name: rv_plic
@@ -855,6 +954,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rv_plic
+ width: 1
+ default: ""
+ top_signame: rv_plic_tl
+ index: -1
+ }
+ ]
}
{
name: pinmux
@@ -948,6 +1062,18 @@
top_signame: pwrmgr_wakeups
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: pinmux
+ width: 1
+ default: ""
+ top_signame: pinmux_tl
+ index: -1
+ }
]
}
{
@@ -980,6 +1106,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: padctrl
+ width: 1
+ default: ""
+ top_signame: padctrl_tl
+ index: -1
+ }
+ ]
}
{
name: alert_handler
@@ -1066,6 +1207,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: alert_handler
+ width: 1
+ default: ""
+ top_signame: alert_handler_tl
+ index: -1
+ }
+ ]
}
{
name: pwrmgr
@@ -1210,6 +1366,18 @@
inst_name: pwrmgr
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: pwrmgr
+ width: 1
+ default: ""
+ top_signame: pwrmgr_tl
+ index: -1
+ }
]
}
{
@@ -1306,6 +1474,18 @@
inst_name: rstmgr
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rstmgr
+ width: 1
+ default: ""
+ top_signame: rstmgr_tl
+ index: -1
+ }
]
}
{
@@ -1436,6 +1616,18 @@
top_signame: clkmgr_status
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: clkmgr
+ width: 1
+ default: ""
+ top_signame: clkmgr_tl
+ index: -1
+ }
]
}
{
@@ -1516,6 +1708,21 @@
wakeup_list: []
scan: "false"
scan_reset: "false"
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: nmi_gen
+ width: 1
+ default: ""
+ top_signame: nmi_gen_tl
+ index: -1
+ }
+ ]
}
{
name: usbdev
@@ -1815,6 +2022,18 @@
inst_name: usbdev
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: usbdev
+ width: 1
+ default: ""
+ top_signame: usbdev_tl
+ index: -1
+ }
]
}
{
@@ -1902,6 +2121,18 @@
inst_name: otbn
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: otbn
+ width: 1
+ default: ""
+ top_signame: otbn_tl
+ index: -1
+ }
]
}
]
@@ -1922,6 +2153,21 @@
base_addr: 0x00008000
swaccess: ro
size: 0x4000
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rom
+ width: 1
+ default: ""
+ top_signame: rom_tl
+ index: -1
+ }
+ ]
clock_connections:
{
clk_i: clkmgr_clocks.clk_main_infra
@@ -1941,6 +2187,21 @@
type: ram_1p
base_addr: 0x10000000
size: 0x10000
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: ram_main
+ width: 1
+ default: ""
+ top_signame: ram_main_tl
+ index: -1
+ }
+ ]
clock_connections:
{
clk_i: clkmgr_clocks.clk_main_infra
@@ -1960,6 +2221,21 @@
type: ram_1p
base_addr: 0x18000000
size: 0x1000
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: ram_ret
+ width: 1
+ default: ""
+ top_signame: ram_ret_tl
+ index: -1
+ }
+ ]
clock_connections:
{
clk_i: clkmgr_clocks.clk_io_infra
@@ -1994,6 +2270,18 @@
top_signame: flash_ctrl_flash
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: eflash
+ width: 1
+ default: ""
+ top_signame: eflash_tl
+ index: -1
+ }
]
clock_connections:
{
@@ -2017,6 +2305,94 @@
[
clkmgr.pwr
]
+ rom.tl:
+ [
+ main.tl_rom
+ ]
+ ram_main.tl:
+ [
+ main.tl_ram_main
+ ]
+ eflash.tl:
+ [
+ main.tl_eflash
+ ]
+ main.tl_peri:
+ [
+ peri.tl_main
+ ]
+ flash_ctrl.tl:
+ [
+ main.tl_flash_ctrl
+ ]
+ hmac.tl:
+ [
+ main.tl_hmac
+ ]
+ aes.tl:
+ [
+ main.tl_aes
+ ]
+ rv_plic.tl:
+ [
+ main.tl_rv_plic
+ ]
+ pinmux.tl:
+ [
+ main.tl_pinmux
+ ]
+ padctrl.tl:
+ [
+ main.tl_padctrl
+ ]
+ alert_handler.tl:
+ [
+ main.tl_alert_handler
+ ]
+ nmi_gen.tl:
+ [
+ main.tl_nmi_gen
+ ]
+ otbn.tl:
+ [
+ main.tl_otbn
+ ]
+ uart.tl:
+ [
+ peri.tl_uart
+ ]
+ gpio.tl:
+ [
+ peri.tl_gpio
+ ]
+ spi_device.tl:
+ [
+ peri.tl_spi_device
+ ]
+ rv_timer.tl:
+ [
+ peri.tl_rv_timer
+ ]
+ usbdev.tl:
+ [
+ peri.tl_usbdev
+ ]
+ pwrmgr.tl:
+ [
+ peri.tl_pwrmgr
+ ]
+ rstmgr.tl:
+ [
+ peri.tl_rstmgr
+ ]
+ clkmgr.tl:
+ [
+ peri.tl_clkmgr
+ ]
+ ram_ret.tl:
+ [
+ peri.tl_ram_ret
+ ]
pwrmgr.wakeups:
[
pinmux.aon_wkup_req
@@ -2030,6 +2406,10 @@
clkmgr.clocks
aes.idle
clkmgr.status
+ main.tl_corei
+ main.tl_cored
+ main.tl_dm_sba
+ main.tl_debug_mem
]
external:
[
@@ -2214,39 +2594,23 @@
addr_range:
[
{
+ base_addr: 0x18000000
+ size_byte: 0x1000
+ }
+ {
base_addr: 0x40000000
- size_byte: 0x1000
- }
- {
- base_addr: 0x40010000
- size_byte: 0x1000
- }
- {
- base_addr: 0x40020000
- size_byte: 0x1000
+ size_byte: 0x21000
}
{
base_addr: 0x40080000
size_byte: 0x1000
}
{
- base_addr: 0x40150000
- size_byte: 0x1000
- }
- {
base_addr: 0x400A0000
- size_byte: 0x1000
+ size_byte: 0x21000
}
{
- base_addr: 0x400B0000
- size_byte: 0x1000
- }
- {
- base_addr: 0x400C0000
- size_byte: 0x1000
- }
- {
- base_addr: 0x18000000
+ base_addr: 0x40150000
size_byte: 0x1000
}
]
@@ -2404,6 +2768,214 @@
}
]
clock: clk_main_i
+ type: xbar
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_corei
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_corei
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_cored
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_cored
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_dm_sba
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_dm_sba
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rom
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: rom_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_debug_mem
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_debug_mem
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_ram_main
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: ram_main_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_eflash
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: eflash_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_peri
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_peri
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_flash_ctrl
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: flash_ctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_hmac
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: hmac_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_aes
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: aes_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rv_plic
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: rv_plic_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_pinmux
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: pinmux_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_padctrl
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: padctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_alert_handler
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: alert_handler_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_nmi_gen
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: nmi_gen_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_otbn
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: otbn_tl
+ index: -1
+ }
+ ]
}
{
name: peri
@@ -2603,6 +3175,130 @@
}
]
clock: clk_peri_i
+ type: xbar
+ inter_signal_list:
+ [
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_main
+ act: rsp
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: main_tl_peri
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_uart
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: uart_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_gpio
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: gpio_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_spi_device
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: spi_device_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rv_timer
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: rv_timer_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_usbdev
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: usbdev_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_pwrmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: pwrmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rstmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: rstmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_clkmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: clkmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_ram_ret
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: ram_ret_tl
+ index: -1
+ }
+ ]
}
]
interrupt_module:
@@ -3636,6 +4332,42 @@
signals:
[
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: uart
+ width: 1
+ default: ""
+ top_signame: uart_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: gpio
+ width: 1
+ default: ""
+ top_signame: gpio_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: spi_device
+ width: 1
+ default: ""
+ top_signame: spi_device_tl
+ index: -1
+ }
+ {
struct: flash
type: req_rsp
name: flash
@@ -3657,6 +4389,30 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: flash_ctrl
+ width: 1
+ default: ""
+ top_signame: flash_ctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rv_timer
+ width: 1
+ default: ""
+ top_signame: rv_timer_tl
+ index: -1
+ }
+ {
name: idle
type: uni
act: req
@@ -3669,6 +4425,42 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: aes
+ width: 1
+ default: ""
+ top_signame: aes_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: hmac
+ width: 1
+ default: ""
+ top_signame: hmac_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rv_plic
+ width: 1
+ default: ""
+ top_signame: rv_plic_tl
+ index: -1
+ }
+ {
struct: lc_strap
type: req_rsp
name: lc_pinmux_strap
@@ -3721,6 +4513,42 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: pinmux
+ width: 1
+ default: ""
+ top_signame: pinmux_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: padctrl
+ width: 1
+ default: ""
+ top_signame: padctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: alert_handler
+ width: 1
+ default: ""
+ top_signame: alert_handler_tl
+ index: -1
+ }
+ {
struct: pwr_ast
type: req_rsp
name: pwr_ast
@@ -3816,6 +4644,18 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: pwrmgr
+ width: 1
+ default: ""
+ top_signame: pwrmgr_tl
+ index: -1
+ }
+ {
struct: pwr_rst
type: req_rsp
name: pwr
@@ -3870,6 +4710,18 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rstmgr
+ width: 1
+ default: ""
+ top_signame: rstmgr_tl
+ index: -1
+ }
+ {
struct: clkmgr_out
type: uni
name: clocks
@@ -3963,6 +4815,30 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: clkmgr
+ width: 1
+ default: ""
+ top_signame: clkmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: nmi_gen
+ width: 1
+ default: ""
+ top_signame: nmi_gen_tl
+ index: -1
+ }
+ {
name: usb_ref_val
type: uni
act: req
@@ -3983,6 +4859,18 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: usbdev
+ width: 1
+ default: ""
+ top_signame: usbdev_tl
+ index: -1
+ }
+ {
name: idle
type: uni
struct: logic
@@ -3992,6 +4880,54 @@
index: -1
}
{
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: otbn
+ width: 1
+ default: ""
+ top_signame: otbn_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: rom
+ width: 1
+ default: ""
+ top_signame: rom_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: ram_main
+ width: 1
+ default: ""
+ top_signame: ram_main_tl
+ index: -1
+ }
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: ram_ret
+ width: 1
+ default: ""
+ top_signame: ram_ret_tl
+ index: -1
+ }
+ {
struct: flash
type: req_rsp
name: flash_ctrl
@@ -4003,6 +4939,342 @@
top_signame: flash_ctrl_flash
index: -1
}
+ {
+ struct: tl
+ package: tlul_pkg
+ type: req_rsp
+ act: rsp
+ name: tl
+ inst_name: eflash
+ width: 1
+ default: ""
+ top_signame: eflash_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_corei
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_corei
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_cored
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_cored
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_dm_sba
+ act: rsp
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_dm_sba
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rom
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: rom_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_debug_mem
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_debug_mem
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_ram_main
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: ram_main_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_eflash
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: eflash_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_peri
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: main_tl_peri
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_flash_ctrl
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: flash_ctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_hmac
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: hmac_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_aes
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: aes_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rv_plic
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: rv_plic_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_pinmux
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: pinmux_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_padctrl
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: padctrl_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_alert_handler
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: alert_handler_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_nmi_gen
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: nmi_gen_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_otbn
+ act: req
+ package: tlul_pkg
+ inst_name: main
+ width: 1
+ default: ""
+ top_signame: otbn_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_main
+ act: rsp
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: main_tl_peri
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_uart
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: uart_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_gpio
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: gpio_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_spi_device
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: spi_device_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rv_timer
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: rv_timer_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_usbdev
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: usbdev_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_pwrmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: pwrmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_rstmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: rstmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_clkmgr
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: clkmgr_tl
+ index: -1
+ }
+ {
+ struct: tl
+ type: req_rsp
+ name: tl_ram_ret
+ act: req
+ package: tlul_pkg
+ inst_name: peri
+ width: 1
+ default: ""
+ top_signame: ram_ret_tl
+ index: -1
+ }
]
external:
[
@@ -4094,6 +5366,358 @@
default: ""
}
{
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: rom_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: rom_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: ram_main_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: ram_main_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: eflash_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: eflash_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: main_tl_peri_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: main_tl_peri_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: flash_ctrl_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: flash_ctrl_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: hmac_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: hmac_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: aes_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: aes_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: rv_plic_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: rv_plic_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: pinmux_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: pinmux_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: padctrl_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: padctrl_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: alert_handler_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: alert_handler_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: nmi_gen_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: nmi_gen_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: otbn_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: otbn_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: uart_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: uart_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: gpio_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: gpio_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: spi_device_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: spi_device_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: rv_timer_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: rv_timer_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: usbdev_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: usbdev_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: pwrmgr_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: pwrmgr_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: rstmgr_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: rstmgr_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: clkmgr_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: clkmgr_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: ram_ret_tl_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: ram_ret_tl_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
package: ""
struct: logic
signame: pwrmgr_wakeups
@@ -4149,6 +5773,70 @@
type: uni
default: ""
}
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: main_tl_corei_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: main_tl_corei_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: main_tl_cored_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: main_tl_cored_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: main_tl_dm_sba_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: main_tl_dm_sba_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_h2d
+ signame: main_tl_debug_mem_req
+ width: 1
+ type: req_rsp
+ default: ""
+ }
+ {
+ package: tlul_pkg
+ struct: tl_d2h
+ signame: main_tl_debug_mem_rsp
+ width: 1
+ type: req_rsp
+ default: ""
+ }
]
}
}
\ No newline at end of file
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index 2acc14e..027fb16 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -57,65 +57,6 @@
import top_pkg::*;
import tl_main_pkg::*;
- tl_h2d_t tl_corei_h_h2d;
- tl_d2h_t tl_corei_h_d2h;
-
- tl_h2d_t tl_cored_h_h2d;
- tl_d2h_t tl_cored_h_d2h;
-
- tl_h2d_t tl_dm_sba_h_h2d;
- tl_d2h_t tl_dm_sba_h_d2h;
-
- tl_h2d_t tl_debug_mem_d_h2d;
- tl_d2h_t tl_debug_mem_d_d2h;
-
- tl_h2d_t tl_uart_d_h2d;
- tl_d2h_t tl_uart_d_d2h;
- tl_h2d_t tl_gpio_d_h2d;
- tl_d2h_t tl_gpio_d_d2h;
- tl_h2d_t tl_spi_device_d_h2d;
- tl_d2h_t tl_spi_device_d_d2h;
- tl_h2d_t tl_flash_ctrl_d_h2d;
- tl_d2h_t tl_flash_ctrl_d_d2h;
- tl_h2d_t tl_rv_timer_d_h2d;
- tl_d2h_t tl_rv_timer_d_d2h;
- tl_h2d_t tl_aes_d_h2d;
- tl_d2h_t tl_aes_d_d2h;
- tl_h2d_t tl_hmac_d_h2d;
- tl_d2h_t tl_hmac_d_d2h;
- tl_h2d_t tl_rv_plic_d_h2d;
- tl_d2h_t tl_rv_plic_d_d2h;
- tl_h2d_t tl_pinmux_d_h2d;
- tl_d2h_t tl_pinmux_d_d2h;
- tl_h2d_t tl_padctrl_d_h2d;
- tl_d2h_t tl_padctrl_d_d2h;
- tl_h2d_t tl_alert_handler_d_h2d;
- tl_d2h_t tl_alert_handler_d_d2h;
- tl_h2d_t tl_pwrmgr_d_h2d;
- tl_d2h_t tl_pwrmgr_d_d2h;
- tl_h2d_t tl_rstmgr_d_h2d;
- tl_d2h_t tl_rstmgr_d_d2h;
- tl_h2d_t tl_clkmgr_d_h2d;
- tl_d2h_t tl_clkmgr_d_d2h;
- tl_h2d_t tl_nmi_gen_d_h2d;
- tl_d2h_t tl_nmi_gen_d_d2h;
- tl_h2d_t tl_usbdev_d_h2d;
- tl_d2h_t tl_usbdev_d_d2h;
- tl_h2d_t tl_otbn_d_h2d;
- tl_d2h_t tl_otbn_d_d2h;
-
- tl_h2d_t tl_rom_d_h2d;
- tl_d2h_t tl_rom_d_d2h;
- tl_h2d_t tl_ram_main_d_h2d;
- tl_d2h_t tl_ram_main_d_d2h;
- tl_h2d_t tl_ram_ret_d_h2d;
- tl_d2h_t tl_ram_ret_d_d2h;
- tl_h2d_t tl_eflash_d_h2d;
- tl_d2h_t tl_eflash_d_d2h;
-
- tl_h2d_t tl_main_peri_h2d;
- tl_d2h_t tl_main_peri_d2h;
-
// Signals
logic [31:0] mio_p2d;
logic [31:0] mio_d2p;
@@ -253,6 +194,50 @@
pwrmgr_pkg::pwr_rst_rsp_t pwrmgr_pwr_rst_rsp;
pwrmgr_pkg::pwr_clk_req_t pwrmgr_pwr_clk_req;
pwrmgr_pkg::pwr_clk_rsp_t pwrmgr_pwr_clk_rsp;
+ tlul_pkg::tl_h2d_t rom_tl_req;
+ tlul_pkg::tl_d2h_t rom_tl_rsp;
+ tlul_pkg::tl_h2d_t ram_main_tl_req;
+ tlul_pkg::tl_d2h_t ram_main_tl_rsp;
+ tlul_pkg::tl_h2d_t eflash_tl_req;
+ tlul_pkg::tl_d2h_t eflash_tl_rsp;
+ tlul_pkg::tl_h2d_t main_tl_peri_req;
+ tlul_pkg::tl_d2h_t main_tl_peri_rsp;
+ tlul_pkg::tl_h2d_t flash_ctrl_tl_req;
+ tlul_pkg::tl_d2h_t flash_ctrl_tl_rsp;
+ tlul_pkg::tl_h2d_t hmac_tl_req;
+ tlul_pkg::tl_d2h_t hmac_tl_rsp;
+ tlul_pkg::tl_h2d_t aes_tl_req;
+ tlul_pkg::tl_d2h_t aes_tl_rsp;
+ tlul_pkg::tl_h2d_t rv_plic_tl_req;
+ tlul_pkg::tl_d2h_t rv_plic_tl_rsp;
+ tlul_pkg::tl_h2d_t pinmux_tl_req;
+ tlul_pkg::tl_d2h_t pinmux_tl_rsp;
+ tlul_pkg::tl_h2d_t padctrl_tl_req;
+ tlul_pkg::tl_d2h_t padctrl_tl_rsp;
+ tlul_pkg::tl_h2d_t alert_handler_tl_req;
+ tlul_pkg::tl_d2h_t alert_handler_tl_rsp;
+ tlul_pkg::tl_h2d_t nmi_gen_tl_req;
+ tlul_pkg::tl_d2h_t nmi_gen_tl_rsp;
+ tlul_pkg::tl_h2d_t otbn_tl_req;
+ tlul_pkg::tl_d2h_t otbn_tl_rsp;
+ tlul_pkg::tl_h2d_t uart_tl_req;
+ tlul_pkg::tl_d2h_t uart_tl_rsp;
+ tlul_pkg::tl_h2d_t gpio_tl_req;
+ tlul_pkg::tl_d2h_t gpio_tl_rsp;
+ tlul_pkg::tl_h2d_t spi_device_tl_req;
+ tlul_pkg::tl_d2h_t spi_device_tl_rsp;
+ tlul_pkg::tl_h2d_t rv_timer_tl_req;
+ tlul_pkg::tl_d2h_t rv_timer_tl_rsp;
+ tlul_pkg::tl_h2d_t usbdev_tl_req;
+ tlul_pkg::tl_d2h_t usbdev_tl_rsp;
+ tlul_pkg::tl_h2d_t pwrmgr_tl_req;
+ tlul_pkg::tl_d2h_t pwrmgr_tl_rsp;
+ tlul_pkg::tl_h2d_t rstmgr_tl_req;
+ tlul_pkg::tl_d2h_t rstmgr_tl_rsp;
+ tlul_pkg::tl_h2d_t clkmgr_tl_req;
+ tlul_pkg::tl_d2h_t clkmgr_tl_rsp;
+ tlul_pkg::tl_h2d_t ram_ret_tl_req;
+ tlul_pkg::tl_d2h_t ram_ret_tl_rsp;
logic pwrmgr_wakeups;
rstmgr_pkg::rstmgr_out_t rstmgr_resets;
rstmgr_pkg::rstmgr_cpu_t rstmgr_cpu;
@@ -260,6 +245,14 @@
clkmgr_pkg::clkmgr_out_t clkmgr_clocks;
logic aes_idle;
clkmgr_pkg::clk_hint_status_t clkmgr_status;
+ tlul_pkg::tl_h2d_t main_tl_corei_req;
+ tlul_pkg::tl_d2h_t main_tl_corei_rsp;
+ tlul_pkg::tl_h2d_t main_tl_cored_req;
+ tlul_pkg::tl_d2h_t main_tl_cored_rsp;
+ tlul_pkg::tl_h2d_t main_tl_dm_sba_req;
+ tlul_pkg::tl_d2h_t main_tl_dm_sba_rsp;
+ tlul_pkg::tl_h2d_t main_tl_debug_mem_req;
+ tlul_pkg::tl_d2h_t main_tl_debug_mem_rsp;
always_comb begin
// TODO: So far just aes is connected
@@ -301,10 +294,10 @@
.hart_id_i (32'b0),
.boot_addr_i (ADDR_SPACE_ROM),
// TL-UL buses
- .tl_i_o (tl_corei_h_h2d),
- .tl_i_i (tl_corei_h_d2h),
- .tl_d_o (tl_cored_h_h2d),
- .tl_d_i (tl_cored_h_d2h),
+ .tl_i_o (main_tl_corei_req),
+ .tl_i_i (main_tl_corei_rsp),
+ .tl_d_o (main_tl_cored_req),
+ .tl_d_i (main_tl_cored_rsp),
// interrupts
.irq_software_i (msip),
.irq_timer_i (intr_rv_timer_timer_expired_0_0),
@@ -334,12 +327,12 @@
.unavailable_i (1'b0),
// bus device with debug memory (for execution-based debug)
- .tl_d_i (tl_debug_mem_d_h2d),
- .tl_d_o (tl_debug_mem_d_d2h),
+ .tl_d_i (main_tl_debug_mem_req),
+ .tl_d_o (main_tl_debug_mem_rsp),
// bus host (for system bus accesses, SBA)
- .tl_h_o (tl_dm_sba_h_h2d),
- .tl_h_i (tl_dm_sba_h_d2h),
+ .tl_h_o (main_tl_dm_sba_req),
+ .tl_h_i (main_tl_dm_sba_rsp),
//JTAG
.tck_i (jtag_tck_i),
@@ -368,8 +361,8 @@
.clk_i (clkmgr_clocks.clk_main_infra),
.rst_ni (rstmgr_resets.rst_sys_n),
- .tl_i (tl_rom_d_h2d),
- .tl_o (tl_rom_d_d2h),
+ .tl_i (rom_tl_req),
+ .tl_o (rom_tl_rsp),
.req_o (rom_req),
.gnt_i (1'b1), // Always grant as only one requester exists
@@ -413,8 +406,8 @@
) u_tl_adapter_ram_main (
.clk_i (clkmgr_clocks.clk_main_infra),
.rst_ni (rstmgr_resets.rst_sys_n),
- .tl_i (tl_ram_main_d_h2d),
- .tl_o (tl_ram_main_d_d2h),
+ .tl_i (ram_main_tl_req),
+ .tl_o (ram_main_tl_rsp),
.req_o (ram_main_req),
.gnt_i (1'b1), // Always grant as only one requester exists
@@ -465,8 +458,8 @@
) u_tl_adapter_ram_ret (
.clk_i (clkmgr_clocks.clk_io_infra),
.rst_ni (rstmgr_resets.rst_sys_io_n),
- .tl_i (tl_ram_ret_d_h2d),
- .tl_o (tl_ram_ret_d_d2h),
+ .tl_i (ram_ret_tl_req),
+ .tl_o (ram_ret_tl_rsp),
.req_o (ram_ret_req),
.gnt_i (1'b1), // Always grant as only one requester exists
@@ -518,8 +511,8 @@
.clk_i (clkmgr_clocks.clk_main_infra),
.rst_ni (rstmgr_resets.rst_lc_n),
- .tl_i (tl_eflash_d_h2d),
- .tl_o (tl_eflash_d_d2h),
+ .tl_i (eflash_tl_req),
+ .tl_o (eflash_tl_rsp),
.req_o (flash_host_req),
.gnt_i (flash_host_req_rdy),
@@ -547,8 +540,6 @@
uart u_uart (
- .tl_i (tl_uart_d_h2d),
- .tl_o (tl_uart_d_d2h),
// Input
.cio_rx_i (cio_uart_rx_p2d),
@@ -566,13 +557,15 @@
.intr_rx_break_err_o (intr_uart_rx_break_err),
.intr_rx_timeout_o (intr_uart_rx_timeout),
.intr_rx_parity_err_o (intr_uart_rx_parity_err),
+
+ // Inter-module signals
+ .tl_i(uart_tl_req),
+ .tl_o(uart_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_secure),
.rst_ni (rstmgr_resets.rst_sys_io_n)
);
gpio u_gpio (
- .tl_i (tl_gpio_d_h2d),
- .tl_o (tl_gpio_d_d2h),
// Input
.cio_gpio_i (cio_gpio_gpio_p2d),
@@ -583,13 +576,15 @@
// Interrupt
.intr_gpio_o (intr_gpio_gpio),
+
+ // Inter-module signals
+ .tl_i(gpio_tl_req),
+ .tl_o(gpio_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_peri),
.rst_ni (rstmgr_resets.rst_sys_io_n)
);
spi_device u_spi_device (
- .tl_i (tl_spi_device_d_h2d),
- .tl_o (tl_spi_device_d_d2h),
// Input
.cio_sck_i (cio_spi_device_sck_p2d),
@@ -607,14 +602,16 @@
.intr_rxerr_o (intr_spi_device_rxerr),
.intr_rxoverflow_o (intr_spi_device_rxoverflow),
.intr_txunderflow_o (intr_spi_device_txunderflow),
+
+ // Inter-module signals
+ .tl_i(spi_device_tl_req),
+ .tl_o(spi_device_tl_rsp),
.scanmode_i (scanmode_i),
.clk_i (clkmgr_clocks.clk_io_peri),
.rst_ni (rstmgr_resets.rst_spi_device_n)
);
flash_ctrl u_flash_ctrl (
- .tl_i (tl_flash_ctrl_d_h2d),
- .tl_o (tl_flash_ctrl_d_d2h),
// Interrupt
.intr_prog_empty_o (intr_flash_ctrl_prog_empty),
@@ -628,23 +625,25 @@
.flash_o(flash_ctrl_flash_req),
.flash_i(flash_ctrl_flash_rsp),
.otp_i(flash_ctrl_pkg::OTP_FLASH_DEFAULT),
+ .tl_i(flash_ctrl_tl_req),
+ .tl_o(flash_ctrl_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_infra),
.rst_ni (rstmgr_resets.rst_lc_n)
);
rv_timer u_rv_timer (
- .tl_i (tl_rv_timer_d_h2d),
- .tl_o (tl_rv_timer_d_d2h),
// Interrupt
.intr_timer_expired_0_0_o (intr_rv_timer_timer_expired_0_0),
+
+ // Inter-module signals
+ .tl_i(rv_timer_tl_req),
+ .tl_o(rv_timer_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_timers),
.rst_ni (rstmgr_resets.rst_sys_io_n)
);
aes u_aes (
- .tl_i (tl_aes_d_h2d),
- .tl_o (tl_aes_d_d2h),
// [0]: ctrl_err
.alert_tx_o ( alert_tx[0:0] ),
@@ -652,13 +651,13 @@
// Inter-module signals
.idle_o(aes_idle),
+ .tl_i(aes_tl_req),
+ .tl_o(aes_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_aes),
.rst_ni (rstmgr_resets.rst_sys_n)
);
hmac u_hmac (
- .tl_i (tl_hmac_d_h2d),
- .tl_o (tl_hmac_d_d2h),
// Interrupt
.intr_hmac_done_o (intr_hmac_hmac_done),
@@ -668,13 +667,19 @@
// [1]: msg_push_sha_disabled
.alert_tx_o ( alert_tx[1:1] ),
.alert_rx_i ( alert_rx[1:1] ),
+
+ // Inter-module signals
+ .tl_i(hmac_tl_req),
+ .tl_o(hmac_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_hmac),
.rst_ni (rstmgr_resets.rst_sys_n)
);
rv_plic u_rv_plic (
- .tl_i (tl_rv_plic_d_h2d),
- .tl_o (tl_rv_plic_d_d2h),
+
+ // Inter-module signals
+ .tl_i(rv_plic_tl_req),
+ .tl_o(rv_plic_tl_rsp),
.intr_src_i (intr_vector),
.irq_o (irq_plic),
@@ -685,8 +690,6 @@
);
pinmux u_pinmux (
- .tl_i (tl_pinmux_d_h2d),
- .tl_o (tl_pinmux_d_d2h),
// Inter-module signals
.lc_pinmux_strap_i('0),
@@ -695,6 +698,8 @@
.io_pok_i({pinmux_pkg::NIOPokSignals{1'b1}}),
.sleep_en_i(1'b0),
.aon_wkup_req_o(pwrmgr_wakeups),
+ .tl_i(pinmux_tl_req),
+ .tl_o(pinmux_tl_rsp),
.periph_to_mio_i (mio_d2p ),
.periph_to_mio_oe_i (mio_d2p_en ),
@@ -718,8 +723,10 @@
);
padctrl u_padctrl (
- .tl_i (tl_padctrl_d_h2d),
- .tl_o (tl_padctrl_d_d2h),
+
+ // Inter-module signals
+ .tl_i(padctrl_tl_req),
+ .tl_o(padctrl_tl_rsp),
.mio_attr_o,
.dio_attr_o,
@@ -728,14 +735,16 @@
);
alert_handler u_alert_handler (
- .tl_i (tl_alert_handler_d_h2d),
- .tl_o (tl_alert_handler_d_d2h),
// Interrupt
.intr_classa_o (intr_alert_handler_classa),
.intr_classb_o (intr_alert_handler_classb),
.intr_classc_o (intr_alert_handler_classc),
.intr_classd_o (intr_alert_handler_classd),
+
+ // Inter-module signals
+ .tl_i(alert_handler_tl_req),
+ .tl_o(alert_handler_tl_rsp),
// TODO: wire this to hardware debug circuit
.crashdump_o ( ),
// TODO: wire this to TRNG
@@ -751,8 +760,6 @@
);
pwrmgr u_pwrmgr (
- .tl_i (tl_pwrmgr_d_h2d),
- .tl_o (tl_pwrmgr_d_d2h),
// Interrupt
.intr_wakeup_o (intr_pwrmgr_wakeup),
@@ -772,6 +779,8 @@
.pwr_cpu_i(pwrmgr_pwr_cpu),
.wakeups_i(pwrmgr_wakeups),
.rstreqs_i('0),
+ .tl_i(pwrmgr_tl_req),
+ .tl_o(pwrmgr_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_powerup),
.clk_slow_i (clkmgr_clocks.clk_aon_powerup),
.rst_ni (rstmgr_resets.rst_por_n),
@@ -779,8 +788,6 @@
);
rstmgr u_rstmgr (
- .tl_i (tl_rstmgr_d_h2d),
- .tl_o (tl_rstmgr_d_d2h),
// Inter-module signals
.pwr_i(pwrmgr_pwr_rst_req),
@@ -789,6 +796,8 @@
.ast_i(rstmgr_pkg::RSTMGR_AST_DEFAULT),
.cpu_i(rstmgr_cpu),
.peri_i(rstmgr_pkg::RSTMGR_PERI_DEFAULT),
+ .tl_i(rstmgr_tl_req),
+ .tl_o(rstmgr_tl_rsp),
.scanmode_i (scanmode_i),
.scan_rst_ni (scan_rst_ni),
.clk_i (clkmgr_clocks.clk_io_powerup),
@@ -801,8 +810,6 @@
);
clkmgr u_clkmgr (
- .tl_i (tl_clkmgr_d_h2d),
- .tl_o (tl_clkmgr_d_d2h),
// Inter-module signals
.clocks_o(clkmgr_clocks),
@@ -814,6 +821,8 @@
.pwr_o(pwrmgr_pwr_clk_rsp),
.dft_i(clkmgr_pkg::CLK_DFT_DEFAULT),
.status_i(clkmgr_status),
+ .tl_i(clkmgr_tl_req),
+ .tl_o(clkmgr_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_powerup),
.rst_ni (rstmgr_resets.rst_por_io_n),
.rst_main_ni (rstmgr_resets.rst_por_n),
@@ -823,14 +832,16 @@
);
nmi_gen u_nmi_gen (
- .tl_i (tl_nmi_gen_d_h2d),
- .tl_o (tl_nmi_gen_d_d2h),
// Interrupt
.intr_esc0_o (intr_nmi_gen_esc0),
.intr_esc1_o (intr_nmi_gen_esc1),
.intr_esc2_o (intr_nmi_gen_esc2),
.intr_esc3_o (intr_nmi_gen_esc3),
+
+ // Inter-module signals
+ .tl_i(nmi_gen_tl_req),
+ .tl_o(nmi_gen_tl_rsp),
// escalation signal inputs
.esc_rx_o ( esc_rx ),
.esc_tx_i ( esc_tx ),
@@ -839,8 +850,6 @@
);
usbdev u_usbdev (
- .tl_i (tl_usbdev_d_h2d),
- .tl_o (tl_usbdev_d_d2h),
// Input
.cio_sense_i (cio_usbdev_sense_p2d),
@@ -887,6 +896,8 @@
// Inter-module signals
.usb_ref_val_o(),
.usb_ref_pulse_o(),
+ .tl_i(usbdev_tl_req),
+ .tl_o(usbdev_tl_rsp),
.clk_i (clkmgr_clocks.clk_io_peri),
.clk_usb_48mhz_i (clkmgr_clocks.clk_usb_peri),
.rst_ni (rstmgr_resets.rst_sys_io_n),
@@ -894,8 +905,6 @@
);
otbn u_otbn (
- .tl_i (tl_otbn_d_h2d),
- .tl_o (tl_otbn_d_d2h),
// Interrupt
.intr_done_o (intr_otbn_done),
@@ -909,6 +918,8 @@
// Inter-module signals
.idle_o(),
+ .tl_i(otbn_tl_req),
+ .tl_o(otbn_tl_rsp),
.clk_i (clkmgr_clocks.clk_main_otbn),
.rst_ni (rstmgr_resets.rst_sys_n)
);
@@ -975,66 +986,122 @@
.clk_fixed_i (clkmgr_clocks.clk_io_infra),
.rst_main_ni (rstmgr_resets.rst_sys_n),
.rst_fixed_ni (rstmgr_resets.rst_sys_io_n),
- .tl_corei_i (tl_corei_h_h2d),
- .tl_corei_o (tl_corei_h_d2h),
- .tl_cored_i (tl_cored_h_h2d),
- .tl_cored_o (tl_cored_h_d2h),
- .tl_dm_sba_i (tl_dm_sba_h_h2d),
- .tl_dm_sba_o (tl_dm_sba_h_d2h),
- .tl_rom_o (tl_rom_d_h2d),
- .tl_rom_i (tl_rom_d_d2h),
- .tl_debug_mem_o (tl_debug_mem_d_h2d),
- .tl_debug_mem_i (tl_debug_mem_d_d2h),
- .tl_ram_main_o (tl_ram_main_d_h2d),
- .tl_ram_main_i (tl_ram_main_d_d2h),
- .tl_eflash_o (tl_eflash_d_h2d),
- .tl_eflash_i (tl_eflash_d_d2h),
- .tl_peri_o (tl_main_peri_h2d),
- .tl_peri_i (tl_main_peri_d2h),
- .tl_flash_ctrl_o (tl_flash_ctrl_d_h2d),
- .tl_flash_ctrl_i (tl_flash_ctrl_d_d2h),
- .tl_hmac_o (tl_hmac_d_h2d),
- .tl_hmac_i (tl_hmac_d_d2h),
- .tl_aes_o (tl_aes_d_h2d),
- .tl_aes_i (tl_aes_d_d2h),
- .tl_rv_plic_o (tl_rv_plic_d_h2d),
- .tl_rv_plic_i (tl_rv_plic_d_d2h),
- .tl_pinmux_o (tl_pinmux_d_h2d),
- .tl_pinmux_i (tl_pinmux_d_d2h),
- .tl_padctrl_o (tl_padctrl_d_h2d),
- .tl_padctrl_i (tl_padctrl_d_d2h),
- .tl_alert_handler_o (tl_alert_handler_d_h2d),
- .tl_alert_handler_i (tl_alert_handler_d_d2h),
- .tl_nmi_gen_o (tl_nmi_gen_d_h2d),
- .tl_nmi_gen_i (tl_nmi_gen_d_d2h),
- .tl_otbn_o (tl_otbn_d_h2d),
- .tl_otbn_i (tl_otbn_d_d2h),
+
+ // port: tl_corei
+ .tl_corei_i(main_tl_corei_req),
+ .tl_corei_o(main_tl_corei_rsp),
+
+ // port: tl_cored
+ .tl_cored_i(main_tl_cored_req),
+ .tl_cored_o(main_tl_cored_rsp),
+
+ // port: tl_dm_sba
+ .tl_dm_sba_i(main_tl_dm_sba_req),
+ .tl_dm_sba_o(main_tl_dm_sba_rsp),
+
+ // port: tl_rom
+ .tl_rom_o(rom_tl_req),
+ .tl_rom_i(rom_tl_rsp),
+
+ // port: tl_debug_mem
+ .tl_debug_mem_o(main_tl_debug_mem_req),
+ .tl_debug_mem_i(main_tl_debug_mem_rsp),
+
+ // port: tl_ram_main
+ .tl_ram_main_o(ram_main_tl_req),
+ .tl_ram_main_i(ram_main_tl_rsp),
+
+ // port: tl_eflash
+ .tl_eflash_o(eflash_tl_req),
+ .tl_eflash_i(eflash_tl_rsp),
+
+ // port: tl_peri
+ .tl_peri_o(main_tl_peri_req),
+ .tl_peri_i(main_tl_peri_rsp),
+
+ // port: tl_flash_ctrl
+ .tl_flash_ctrl_o(flash_ctrl_tl_req),
+ .tl_flash_ctrl_i(flash_ctrl_tl_rsp),
+
+ // port: tl_hmac
+ .tl_hmac_o(hmac_tl_req),
+ .tl_hmac_i(hmac_tl_rsp),
+
+ // port: tl_aes
+ .tl_aes_o(aes_tl_req),
+ .tl_aes_i(aes_tl_rsp),
+
+ // port: tl_rv_plic
+ .tl_rv_plic_o(rv_plic_tl_req),
+ .tl_rv_plic_i(rv_plic_tl_rsp),
+
+ // port: tl_pinmux
+ .tl_pinmux_o(pinmux_tl_req),
+ .tl_pinmux_i(pinmux_tl_rsp),
+
+ // port: tl_padctrl
+ .tl_padctrl_o(padctrl_tl_req),
+ .tl_padctrl_i(padctrl_tl_rsp),
+
+ // port: tl_alert_handler
+ .tl_alert_handler_o(alert_handler_tl_req),
+ .tl_alert_handler_i(alert_handler_tl_rsp),
+
+ // port: tl_nmi_gen
+ .tl_nmi_gen_o(nmi_gen_tl_req),
+ .tl_nmi_gen_i(nmi_gen_tl_rsp),
+
+ // port: tl_otbn
+ .tl_otbn_o(otbn_tl_req),
+ .tl_otbn_i(otbn_tl_rsp),
+
.scanmode_i
);
xbar_peri u_xbar_peri (
.clk_peri_i (clkmgr_clocks.clk_io_infra),
.rst_peri_ni (rstmgr_resets.rst_sys_io_n),
- .tl_main_i (tl_main_peri_h2d),
- .tl_main_o (tl_main_peri_d2h),
- .tl_uart_o (tl_uart_d_h2d),
- .tl_uart_i (tl_uart_d_d2h),
- .tl_gpio_o (tl_gpio_d_h2d),
- .tl_gpio_i (tl_gpio_d_d2h),
- .tl_spi_device_o (tl_spi_device_d_h2d),
- .tl_spi_device_i (tl_spi_device_d_d2h),
- .tl_rv_timer_o (tl_rv_timer_d_h2d),
- .tl_rv_timer_i (tl_rv_timer_d_d2h),
- .tl_usbdev_o (tl_usbdev_d_h2d),
- .tl_usbdev_i (tl_usbdev_d_d2h),
- .tl_pwrmgr_o (tl_pwrmgr_d_h2d),
- .tl_pwrmgr_i (tl_pwrmgr_d_d2h),
- .tl_rstmgr_o (tl_rstmgr_d_h2d),
- .tl_rstmgr_i (tl_rstmgr_d_d2h),
- .tl_clkmgr_o (tl_clkmgr_d_h2d),
- .tl_clkmgr_i (tl_clkmgr_d_d2h),
- .tl_ram_ret_o (tl_ram_ret_d_h2d),
- .tl_ram_ret_i (tl_ram_ret_d_d2h),
+
+ // port: tl_main
+ .tl_main_i(main_tl_peri_req),
+ .tl_main_o(main_tl_peri_rsp),
+
+ // port: tl_uart
+ .tl_uart_o(uart_tl_req),
+ .tl_uart_i(uart_tl_rsp),
+
+ // port: tl_gpio
+ .tl_gpio_o(gpio_tl_req),
+ .tl_gpio_i(gpio_tl_rsp),
+
+ // port: tl_spi_device
+ .tl_spi_device_o(spi_device_tl_req),
+ .tl_spi_device_i(spi_device_tl_rsp),
+
+ // port: tl_rv_timer
+ .tl_rv_timer_o(rv_timer_tl_req),
+ .tl_rv_timer_i(rv_timer_tl_rsp),
+
+ // port: tl_usbdev
+ .tl_usbdev_o(usbdev_tl_req),
+ .tl_usbdev_i(usbdev_tl_rsp),
+
+ // port: tl_pwrmgr
+ .tl_pwrmgr_o(pwrmgr_tl_req),
+ .tl_pwrmgr_i(pwrmgr_tl_rsp),
+
+ // port: tl_rstmgr
+ .tl_rstmgr_o(rstmgr_tl_req),
+ .tl_rstmgr_i(rstmgr_tl_rsp),
+
+ // port: tl_clkmgr
+ .tl_clkmgr_o(clkmgr_tl_req),
+ .tl_clkmgr_i(clkmgr_tl_rsp),
+
+ // port: tl_ram_ret
+ .tl_ram_ret_o(ram_ret_tl_req),
+ .tl_ram_ret_i(ram_ret_tl_rsp),
+
.scanmode_i
);