MAILBOX

1. 简介

邮箱(MAILBOX) IP 是内部系统与主机处理器之间的通信通道。主机处理器通过 AXI 从机接口与邮箱通信,邮箱通过系统总线与内部系统通信。所有主机 CPU 都可以访问外部可见的 16K 字节地址映射,包括邮箱存储器、邮箱状态和邮箱控制寄存器。访问邮箱由主机 ID 和每个邮箱的状态控制,而访问中断控制完全由主机 ID 管理。

2. 主要特性

MAILBOX 支持以下特性:

  • 可配置邮箱数量

  • 支持配置输入/输出邮箱大小

  • 低延迟总线从机接口

3. 功能描述

邮箱框图

模块框图如图所示:

MAILBOX 邮箱框图

图 3.1: 邮箱框图

邮箱接口逻辑由以下组件组成:

  • 用于主机总线连接的总线从机接口。

  • 用于内部处理器连接的内部总线接口。

  • 访问控制逻辑,用于门控对邮箱 RAM 和中断控制器的读/写访问。

  • 邮箱控制和状态逻辑。

  • 两个 SRAM 接口。

  • 每个活动主机 CPU 的中断控制器(用户可配置)。以及一个连接到内部处理器的内部中断。

连接描述

主机读取 MBX_CSR 寄存器。如果 mbxn_available = 1,主机可以连接到 Mailboxn 并且 Mailboxn 中没有命令。否则,mbxn_available = 0 表示 Mailboxn 已连接到主机或 Mailboxn 中的命令正在处理中。 如果 mbxn_available = 1,则设置 MBX_CSR 中的 mbxn_link 以连接到 Mailboxn。对应的连接 ID 和保护访问位在 MAILBOX_LINKID 寄存器中设置。MAILBOX_CSR 寄存器中的 mbxn_link 位被设置为 1。

注意: 如果从 opt 寄存器读取的 prot_av 为 0,则表示不支持保护访问。那么 MAILBOX_LINKID 寄存器中的保护访问位为 0。

断开连接描述

MBX_CSR 寄存器的mbxn_alb_unlink 写 1 将邮箱 n 从该主机断开连接,并清除 MAILBOX_CSR 中的 mbxn_link 位。断开连接的同时写入 1b 到 mbxn_in_full 位也是可以的,表示命令可以被处理,另一个主机可以连接到输入邮箱 n。主主机也可以通过向 MAILBOX_RESET 寄存器的 mbxn_unlink 位写入 1b,将邮箱 n 从其当前主机取消连接。

注意: 如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行。如果从 opt 寄存器读取的 prot_av 为 0,则表示不支持保护访问。

存储空间

该邮箱具有寄存器文件和一个本地 SRAM。两者都可以直接从总线访问,并分配了存储器映射地址空间。它们具有专用的总线接口,因此具有独立的基地址。

  1. 寄存器空间

有关寄存器文件的空间,请参阅 “寄存器” 章节

  1. SRAM空间

本地 SRAM 用于存储输入数据、中间数据和结果。它具有连接到系统总线的专用总线接口,其大小为字大小。分配给 SRAM 的存储空间见表 SRAM 地址空间。

表3.1 SRAM 地址空间

字节地址

名称

读写属性

描述

0x2000 - 0x20FF

MAILBOX0_IN

W

输入邮箱 0

0x2000 - 0x20FF

MAILBOX0_OUT

R

输出邮箱 0

0x2100 - 0x23FF

保留

/

用于邮箱 0 大小扩展到 1K 字节的空间

0x2400 - 0x24FF

MAILBOX1_IN

W

输入邮箱 1

0x2400 - 0x24FF

MAILBOX1_OUT

R

输出邮箱 1

0x2500 - 0x27FF

保留

/

用于邮箱 1 大小扩展到 1K 字节的空间

0x2800 - 0x28FF

MAILBOX2_IN

W

输入邮箱 2

0x2800 - 0x28FF

MAILBOX2_OUT

R

输出邮箱 2

0x2900 - 0x2BFF

保留

/

用于邮箱 2 大小扩展到 1K 字节的空间

0x2C00 - 0x2CFF

MAILBOX3_IN

W

输入邮箱 3

0x2C00 - 0x2CFF

MAILBOX3_OUT

R

输出邮箱 3

0x2D00 - 0x2FFF

保留

/

用于邮箱 3 大小扩展到 1K 字节的空间

0x3000 - 0x3FFF

保留

/

用于邮箱 4 ~ 7 的空间

注意:

  • 输入邮箱: 主机只有在连接到该邮箱时才能写入输入邮箱存储器。如果 MAILBOX_LINKID 寄存器中对应 mbx_link_id 的 mbx_prot_acc 位被设置,则对该邮箱的所有访问必须是保护类型。此外,邮箱在 MBX_CSR 寄存器中不能已处于满状态。非法的写操作将被直接忽略。

  • 输出邮箱: 主机只有在是存储在该输出邮箱中的结果的目标时才能读取输出邮箱存储器。此外,如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,读访问必须具有相同的保护类型(安全/非安全)。非法的读操作将直接返回零。

内部总线寄存器

表3.2 内部总线寄存器

偏移量

寄存器名称

读写属性

功能描述

0x0

IP_VER

RO

IP 版本号

0x4

GIT_VER

RO

GIT 版本号

0x8

CSR

RW

邮箱控制/状态寄存器

0xC

RESET

RO

邮箱复位寄存器

0x10

LINKID0

RO

邮箱连接 ID 寄存器

0x14

LINKID1

RO

邮箱连接 ID 寄存器。如果邮箱数量小于或等于 4,此寄存器不存在

0x18

LOCKOUT0

RO

邮箱锁定 0 寄存器。位图指示哪些主机被禁止访问邮箱 0,位n 为 1b 则阻止主机 cpu_id n

0x1C

LOCKOUT1

RO

邮箱锁定 1 寄存器。位图指示哪些主机被禁止访问邮箱 1,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于2,此寄存器不存在。

0x20

LOCKOUT2

RO

邮箱锁定 2 寄存器。位图指示哪些主机被禁止访问邮箱 2,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于3,此寄存器不存在。

0x24

LOCKOUT3

RO

邮箱锁定 3 寄存器。位图指示哪些主机被禁止访问邮箱 3,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于4,此寄存器不存在。

0x28

LOCKOUT4

RO

邮箱锁定 4 寄存器。位图指示哪些主机被禁止访问邮箱 4,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于5,此寄存器不存在。

0x2C

LOCKOUT5

RO

邮箱锁定 5 寄存器。位图指示哪些主机被禁止访问邮箱 5,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于6,此寄存器不存在。

0x30

LOCKOUT6

RO

邮箱锁定 6 寄存器。位图指示哪些主机被禁止访问邮箱 6,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于7,此寄存器不存在。

0x34

LOCKOUT7

RO

邮箱锁定 7 寄存器。位图指示哪些主机被禁止访问邮箱 7,位n 为 1b 则阻止主机 cpu_id n,如果邮箱数量小于8,此寄存器不存在。

0x38

INTEN1

RW

每个中断输入的独立使能控制位: 1’b0:禁用。 1’b1:使能。
  • bit0:mbx0_in_full 中断使能

  • bit1:mbx0_out_free 中断使能

  • bit2:mbx1_in_full 中断使能

  • bit3:mbx1_out_free 中断使能

  • bit4:mbx2_in_full 中断使能

  • bit5:mbx2_out_free 中断使能

  • bit6:mbx3_in_full 中断使能

  • bit7:mbx3_out_free 中断使能

  • bit8:mbx4_in_full 中断使能

  • bit9:mbx4_out_free 中断使能

  • bit10:mbx5_in_full 中断使能

  • bit11:mbx5_out_free 中断使能

  • bit12:mbx6_in_full 中断使能

  • bit13:mbx6_out_free 中断使能

  • bit14:mbx7_in_full 中断使能

  • bit15:mbx7_out_free 中断使能

  • bit16-bit31:保留

0x3C

INTST1

RW

这些位反映中断的状态: 1’b0:不活动。 1’b1:挂起。
  • bit0:mbx0_in_full 中断状态

  • bit1:mbx0_out_free 中断状态

  • bit2:mbx1_in_full 中断状态

  • bit3:mbx1_out_free 中断状态

  • bit4:mbx2_in_full 中断状态

  • bit5:mbx2_out_free 中断状态

  • bit6:mbx3_in_full 中断状态

  • bit7:mbx3_out_free 中断状态

  • bit8:mbx4_in_full 中断状态

  • bit9:mbx4_out_free 中断状态

  • bit10:mbx5_in_full 中断状态

  • bit11:mbx5_out_free 中断状态

  • bit12:mbx6_in_full 中断状态

  • bit13:mbx6_out_free 中断状态

  • bit14:mbx7_in_full 中断状态

  • bit15:mbx7_out_free 中断状态

  • bit16-bit31:保留

0x5C

OPT

RO

邮箱内部配置选项,与 MAILBOX_RF 寄存器的 OPT 相同。

0x60

FROZE

RW

  • Bit0 写入 1’b1 冻结 RID_VAL,RID_MASK,WID_VAL 和 WID_MASK 寄存器。

  • 如果 froze 位为 1,写入 RID_VAL, RID_MASK,WID_VAL 和 WID_MASK 将被忽略且读取返回 0,除非系统复位否则无法清除。

  • 仅内部 CPU 有,主机无该寄存器

0x64

RID_VAL0

RW

主机 id0 的 rid_val,当 host_bus_rid & rid_mask0 = rid_val0 & rid_mask0 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0x68

RID_VAL1

RW

主机 id1 的 rid_val,当 host_bus_rid & rid_mask1 = rid_val1 & rid_mask1 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0x6C

RID_VAL2

RW

主机 id2 的 rid_val,当 host_bus_rid & rid_mask2 = rid_val2 & rid_mask2 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0x70

RID_VAL3

RW

主机 id3 的 rid_va3,当 host_bus_rid & rid_mask1 = rid_val3 & rid_mask3 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0xE4

RID_MASK0

RW

主机 id0 的 rid_mask,当 host_bus_rid & rid_mask0 = rid_val0 & rid_mask0 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0xE8

RID_MASK1

RW

主机 id1 的 rid_mask,当 host_bus_rid & rid_mask1 = rid_val1 & rid_mask1 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0xEC

RID_MASK2

RW

主机 id2 的 rid_mask,当 host_bus_rid & rid_mask2 = rid_val2 & rid_mask2 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0xF0

RID_MASK3

RW

主机 id3 的 rid_mask,当 host_bus_rid & rid_mask3 = rid_val3 & rid_mask3 时,主机有 mailbox 的读访问权限,由内部 CPU 设置,,主机无该寄存器

0x164

WID_VAL0

RW

主机 id0 的 wid_val,当 host_bus_wid & wid_mask0 = wid_val0 & wid_mask0 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x168

WID_VAL1

RW

主机 id1 的 wid_val,当 host_bus_wid & wid_mask1 = wid_val1 & wid_mask1 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x16C

WID_VAL2

RW

主机 id2 的 wid_val,当 host_bus_wid & wid_mask2 = wid_val2 & wid_mask2 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x170

WID_VAL3

RW

主机 id3 的 wid_val,当 host_bus_wid & wid_mask3 = wid_val3 & wid_mask3 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x1E4

WID_MASK0

RW

主机 id0 的 wid_mask,当 host_bus_wid & wid_mask0 = wid_val0 & wid_mask0 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x1E8

WID_MASK1

RW

主机 id1 的 wid_mask,当 host_bus_wid & wid_mask1 = wid_val1 & wid_mask1 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x1EC

WID_MASK2

RW

主机 id2 的 wid_mask,当 host_bus_wid & wid_mask2 = wid_val2 & wid_mask2 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

0x1F0

WID_MASK3

RW

主机 id3 的 wid_mask,当 host_bus_wid & wid_mask3 = wid_val3 & wid_mask3 时,主机有 mailbox 的写访问权限,由内部 CPU 设置,,主机无该寄存器

编程模型

连接步骤

  1. 主主机编程 LOCKOUT 寄存器以解锁邮箱

  2. 主机编程 INTEN 寄存器中的 mbx_linkable 位,然后读取 CSR 寄存器中的 mbx_alb_unlink 位,确认所要访问的邮箱处于可连接状态

  3. 主机编程 CSR 寄存器中的 mbx_link 位以连接对应的邮箱

  4. 主机读取 CSR 寄存器中的 mbx_link 位并读取 LINKID 寄存器中的 mbx_link_id,判断连接成功还是失败

  5. 如果连接成功,主机编程 INTEN 寄存器中的 mbx_ifre 和 mbx_done 位

主机写步骤

  1. 主机将数据编程到 MAILBOX_IN SRAM

  2. 主机编程 CSR 寄存器中的 mbx_in_full 位,表示写结束,等待内部 CPU 读取。

主机读步骤

  1. 主机读取 INTST 寄存器中的 mbx_done 位,直到 mbx_done 为 1

  2. 主机从 SRAM MAILBOX_OUT 读取数据

  3. 主机清除 INIST 寄存器中的 mbx_done 位

  4. 主机清除 CSR 寄存器中的 mbx_out_full 位

内部 CPU 初始化

  1. 内部 CPU 在 INTEN1 寄存器中编程中断使能

  2. 如果存在 ID_VAL 和 ID_MASK 寄存器,则需要配置 ID_VAL、ID_MASK 和 FROZE 寄存器

内部 CPU 读步骤

  1. 内部 CPU 读取 INTST 寄存器中的 mbx_in_full 位。直到 mbx_in_full 为 1

  2. 内部 CPU 从 SRAM MAILBOX_IN 读取数据

  3. 内部 CPU 清除 INTST 寄存器中的 mbx_in_full 位

  4. 内部 CPU 清除 CSR 寄存器中的 mbx_in_full 位

内部 CPU 写步骤

  1. 内部 CPU 将数据编程到 MAILBOX_OUT SRAM

  2. 内部 CPU 编程 CSR 寄存器中的 mbx_out_full 位

4. 中断

中断控制器的实现方式是每个活动主机都连接到自己的控制器,而所有中断控制器都位于存储映射中的相同地址。这是通过在寄存器访问期间考虑 cpu_id 和 prot 输入来实现的。 中断使能控制(INTEN)寄存器用于选择启用哪个中断源。中断状态(INTST)寄存器允许主机读取状态。

5. 寄存器

MAILBOX_RF 寄存器

MAILBOX_RF 中的寄存器及其对应的偏移量见表 MAILBOX_RF 中寄存器的偏移地址

表 5.1:MAILBOX_RF 中寄存器的偏移地址

偏移量

寄存器名称

功能描述

0x0

IP_VER

IP 版本号

0x4

GIT_VER

Git 版本号

0x8

CSR

邮箱控制/状态寄存器

0xC

RESET

邮箱复位寄存器

0x10

LINKIDO

邮箱连接 ID 0 寄存器

0x14

LINKID1

邮箱连接 ID 1 寄存器

0x18

LOCKOUTO

邮箱锁定 0 寄存器

0x1C

LOCKOUT1

邮箱锁定 1 寄存器

0x20

LOCKOUT2

邮箱锁定 2 寄存器

0x24

LOCKOUT3

邮箱锁定 3 寄存器

0x28

LOCKOUT4

邮箱锁定 4 寄存器

0x2C

LOCKOUT5

邮箱锁定 5 寄存器

0x30

LOCKOUT6

邮箱锁定 6 寄存器

0x34

LOCKOUT7

邮箱锁定 7 寄存器

0x38

INTEN

中断使能控制寄存器

0x3C

INTST

中断状态寄存器

0x5C

OPT

邮箱内部配置选项

IP 版本号寄存器

地址偏移:0x0

表 5.2:IP_VER 寄存器格式

字段

位

访问

复位值

描述

IP_VER

23:0

RO

0x020100

IP 版本号

Reserved

31:24

/

0x0

/

GIT 版本号寄存器

地址偏移:0x4

表 5.3:GIT_VER 寄存器格式

字段

位

访问

复位值

描述

GIT_VER

31:0

RO

0x0

Git 版本号

邮箱控制/状态寄存器

地址偏移:0x8

表 5.4:CSR 寄存器格式

字段

位

访问

复位值

描述

mbx0_in_full

0

RW

0x0

  • 读取:只能被连接到邮箱 0 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 0 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 0 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 0 后设置此位为 1;内部控制器从输入邮箱 0 读取数据后,此位将被清除

mbx0_out_full

1

RW

0x0

  • 读取:只能被连接到邮箱 0 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 0 为空

  • 1’b1: 已满,输出邮箱 0 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 0 中令牌的目标主机可以通过在此写入 1b 来清除 mbx0_out_full 位;mbx0_out_full 将由内部控制器设置。

mbx0_link

2

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 0

  • 1’b1: 已连接,该主机已连接到邮箱 0

  • 写入 1b 将邮箱 0 连接到该主机,仅当在此写入操作时输入邮箱 0 未满且输入邮箱 0 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx0_alb_unlink

3

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 0 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 0 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 0 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx0_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx1_in_full

4

RW

0x0

  • 读取:只能被连接到邮箱 1 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 1 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 1 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 1 后设置此位为 1;内部控制器从输入邮箱 1 读取数据后,此位将被清除

mbx1_out_full

5

RW

0x0

  • 读取:只能被连接到邮箱 1 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 1 为空

  • 1’b1: 已满,输出邮箱 1 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 1 中令牌的目标主机可以通过在此写入 1b 来清除 mbx1_out_full 位;mbx1_out_full 将由内部控制器设置。

mbx1_link

6

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 1

  • 1’b1: 已连接,该主机已连接到邮箱 1

  • 写入 1b 将邮箱 1 连接到该主机,仅当在此写入操作时输入邮箱 1 未满且输入邮箱 0 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx1_alb_unlink

7

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 1 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 1 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 1 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx0_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx2_in_full

8

RW

0x0

  • 读取:只能被连接到邮箱 2 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 2 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 2 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 2 后设置此位为 1;内部控制器从输入邮箱 2 读取数据后,此位将被清除

mbx2_out_full

9

RW

0x0

  • 读取:只能被连接到邮箱 2 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 2 为空

  • 1’b1: 已满,输出邮箱 2 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 2 中令牌的目标主机可以通过在此写入 1b 来清除 mbx0_out_full 位;mbx2_out_full 将由内部控制器设置。

mbx2_link

10

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 2

  • 1’b1: 已连接,该主机已连接到邮箱 2

  • 写入 1b 将邮箱 2 连接到该主机,仅当在此写入操作时输入邮箱 2 未满且输入邮箱 2 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx2_alb_unlink

11

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 2 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 2 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 2 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx2_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx3_in_full

12

RW

0x0

  • 读取:只能被连接到邮箱 3 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 3 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 3 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 3 后设置此位为 1;内部控制器从输入邮箱 3 读取数据后,此位将被清除

mbx3_out_full

13

RW

0x0

  • 读取:只能被连接到邮箱 3 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 3 为空

  • 1’b1: 已满,输出邮箱 3 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 3 中令牌的目标主机可以通过在此写入 1b 来清除 mbx3_out_full 位;mbx3_out_full 将由内部控制器设置。

mbx3_link

14

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 3

  • 1’b1: 已连接,该主机已连接到邮箱 3

  • 写入 1b 将邮箱 3 连接到该主机,仅当在此写入操作时输入邮箱 3 未满且输入邮箱 3 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx3_alb_unlink

15

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 3 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 3 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 3 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx3_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx4_in_full

16

RW

0x0

  • 读取:只能被连接到邮箱 4 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 4 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 4 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 4 后设置此位为 1;内部控制器从输入邮箱 4 读取数据后,此位将被清除

mbx4_out_full

17

RW

0x0

  • 读取:只能被连接到邮箱 4 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 4 为空

  • 1’b1: 已满,输出邮箱 4 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 4 中令牌的目标主机可以通过在此写入 1b 来清除 mbx4_out_full 位;mbx4_out_full 将由内部控制器设置。

mbx4_link

18

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 4

  • 1’b1: 已连接,该主机已连接到邮箱 4

  • 写入 1b 将邮箱 4 连接到该主机,仅当在此写入操作时输入邮箱 4 未满且输入邮箱 4 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx4_alb_unlink

19

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 4 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 4 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 4 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx4_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx5_in_full

20

RW

0x0

  • 读取:只能被连接到邮箱 5 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 5 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 5 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 5 后设置此位为 1;内部控制器从输入邮箱 5 读取数据后,此位将被清除

mbx5_out_full

21

RW

0x0

  • 读取:只能被连接到邮箱 5 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 5 为空

  • 1’b1: 已满,输出邮箱 5 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 5 中令牌的目标主机可以通过在此写入 1b 来清除 mbx5_out_full 位;mbx5_out_full 将由内部控制器设置。

mbx5_link

22

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 5

  • 1’b1: 已连接,该主机已连接到邮箱 5

  • 写入 1b 将邮箱 5 连接到该主机,仅当在此写入操作时输入邮箱 5 未满且输入邮箱 5 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx5_alb_unlink

23

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 5 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 5 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 5 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx5_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx6_in_full

24

RW

0x0

  • 读取:只能被连接到邮箱 6 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 6 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 6 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 6 后设置此位为 1;内部控制器从输入邮箱 6 读取数据后,此位将被清除

mbx6_out_full

25

RW

0x0

  • 读取:只能被连接到邮箱 6 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 6 为空

  • 1’b1: 已满,输出邮箱 6 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 6 中令牌的目标主机可以通过在此写入 1b 来清除 mbx6_out_full 位;mbx6_out_full 将由内部控制器设置。

mbx6_link

26

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 6

  • 1’b1: 已连接,该主机已连接到邮箱 6

  • 写入 1b 将邮箱 6 连接到该主机,仅当在此写入操作时输入邮箱 6 未满且输入邮箱 6 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx6_alb_unlink

27

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 6 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 6 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 6 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx6_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

mbx7_in_full

28

RW

0x0

  • 读取:只能被连接到邮箱 7 的主机读取为 1b

  • 1’b0: 未满,输入邮箱 7 可用并准备接收新数据

  • 1’b1: 已满,输入邮箱 7 包含已交给内部控制器的数据

  • 写入:连接的主机在将数据写入输入邮箱 7 后设置此位为 1;内部控制器从输入邮箱 7 读取数据后,此位将被清除

mbx7_out_full

29

RW

0x0

  • 读取:只能被连接到邮箱 7 的主机读取为 1b

  • 1’b0: 未满,输出邮箱 7 为空

  • 1’b1: 已满,输出邮箱 7 包含给该主机的输出数据,主机现在可以读取输出邮箱 RAM 获取

  • 写入:输出邮箱 7 中令牌的目标主机可以通过在此写入 1b 来清除 mbx7_out_full 位;mbx7_out_full 将由内部控制器设置。

mbx7_link

30

RW

0x0

  • 读取

  • 1’b0: 未连接,该主机未连接到邮箱 7

  • 1’b1: 已连接,该主机已连接到邮箱 7

  • 写入 1b 将邮箱 7 连接到该主机,仅当在此写入操作时输入邮箱 7 未满且输入邮箱 7 尚未连接到另一个主机时才能执行。如果连接成功,则此位将变为 1b

  • 注意:当使用保护写访问设置此位时,MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位将设置:表示所有对该邮箱的进一步访问必须使用保护访问执行

mbx7_alb_unlink

31

RW

0x1

  • 读取,可用于连接

  • 1’b0: 输入邮箱 7 已连接到主机或已装满正在处理的数据

  • 1’b1: 输入邮箱 7 可供该主机连接且不包含数据

  • 写入,可取消连接

  • 写入 1b 将邮箱 7 从该主机取消连接,并清除 MAILBOX_STAT 中的 mbx7_linked 位;

  • 注意:如果 MAILBOX_LINKID 寄存器中对应邮箱的 mbx_prot_acc 位被设置,则取消连接操作必须通过保护写访问执行

邮箱复位寄存器

地址偏移:0xC

表 5.5:RESET 寄存器格式

字段

位

访问

复位值

描述

保留

0

/

0x0

/

mbx0_out_empty

1

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx0_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

2

/

0x0

/

mbx0_unlink

3

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx0_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

4

/

0x0

/

mbx1_out_empty

5

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx1_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

6

/

0x0

/

mbx1_unlink

7

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx1_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

8

/

0x0

/

mbx2_out_empty

9

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx2_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

10

/

0x0

/

mbx2_unlink

11

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx2_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

12

/

0x0

/

mbx3_out_empty

13

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx3_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

14

/

0x0

/

mbx3_unlink

15

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx3_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

16

/

0x0

/

mbx4_out_empty

17

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx4_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

18

/

0x0

/

mbx4_unlink

19

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx4_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

20

/

0x0

/

mbx5_out_empty

21

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx5_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

22

/

0x0

/

mbx5_unlink

23

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx5_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

24

/

0x0

/

mbx6_out_empty

25

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx6_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

26

/

0x0

/

mbx6_unlink

27

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx6_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

保留

28

/

0x0

/

mbx7_out_empty

29

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 来清除 MBX_CSR 中的 mbx7_out_full 位。其他主机写入 1b 或任何主机写入 0b 无效

保留

30

/

0x0

/

mbx7_unlink

31

W1C

0x0

仅可设置:主主机可以通过在此写入 1b 将邮箱 0 从其当前主机取消连接,清除 MBX_CSR 中的 mbx7_linked 位。其他主机写入 1b 或任何主机写入 0b 无效。注意:主主机必须使用保护写访问;非保护访问无效。

邮箱连接 ID 0 寄存器

地址偏移:0x10

表 5.6:LINKID0 寄存器格式

字段

位

访问

复位值

描述

mbx0_link_id

1:0

RO

0x0

指示连接到输入邮箱 0 的主机的 cpu_id

保留

6:2

/

0x0

/

mbx0_prot_acc

7

RO

0x0

  • 1’b0:非保护,邮箱 0 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 0 仅当主机使用保护访问时才可访问

mbx1_link_id

9:8

RO

0x0

指示连接到输入邮箱 1 的主机的 cpu_id

保留

14:10

/

0x0

/

mbx1_prot_acc

15

RO

0x0

  • 1’b0:非保护,邮箱 1 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 1 仅当主机使用保护访问时才可访问

mbx2_link_id

17:16

RO

0x0

指示连接到输入邮箱 2 的主机的 cpu_id

保留

22:18

/

0x0

/

mbx2_prot_acc

23

RO

0x0

  • 1’b0:非保护,邮箱 2 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 2 仅当主机使用保护访问时才可访问

mbx3_link_id

25:24

RO

0x0

指示连接到输入邮箱 3 的主机的 cpu_id

保留

30:26

/

0x0

/

mbx3_prot_acc

31

RO

0x0

  • 1’b0:非保护,邮箱 3 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 3 仅当主机使用保护访问时才可访问

邮箱连接 ID 1 寄存器

地址偏移:0x14

表 5.7:LINKID1 寄存器格式

字段

位

访问

复位值

描述

mbx4_link_id

1:0

RO

0x0

指示连接到输入邮箱 4 的主机的 cpu_id

保留

6:2

/

0x0

/

mbx4_prot_acc

7

RO

0x0

  • 1’b0:非保护,邮箱 4 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 4 仅当主机使用保护访问时才可访问

mbx5_link_id

9:8

RO

0x0

指示连接到输入邮箱 5 的主机的 cpu_id

保留

14:10

/

0x0

/

mbx5_prot_acc

15

RO

0x0

  • 1’b0:非保护,邮箱 5 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 5 仅当主机使用保护访问时才可访问

mbx6_link_id

17:16

RO

0x0

指示连接到输入邮箱 6 的主机的 cpu_id

保留

22:18

/

0x0

/

mbx6_prot_acc

23

RO

0x0

  • 1’b0:非保护,邮箱 6 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 6 仅当主机使用保护访问时才可访问

mbx7_link_id

25:24

RO

0x0

指示连接到输入邮箱 7 的主机的 cpu_id

保留

30:26

/

0x0

/

mbx7_prot_acc

31

RO

0x0

  • 1’b0:非保护,邮箱 7 可以通过主机的保护或非保护访问访问

  • 1’b1:保护,邮箱 7 仅当主机使用保护访问时才可访问

邮箱锁定 0 寄存器

地址偏移:0x18

表 5.8:LOCKOUTO 寄存器格式

字段

位

访问

复位值

描述

mbx0

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 0,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 1 寄存器

地址偏移:0x1C

表 5.9:LOCKOUT1 寄存器格式

字段

位

访问

复位值

描述

mbx1

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 1,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 2 寄存器

地址偏移:0x20

表 5.10:LOCKOUT2 寄存器格式

字段

位

访问

复位值

描述

mbx2

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 2,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 3 寄存器

地址偏移:0x24

表 5.11:LOCKOUT3 寄存器格式

字段

位

访问

复位值

描述

mbx3

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 3,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 4 寄存器

地址偏移:0x28

表 5.12:LOCKOUT4 寄存器格式

字段

位

访问

复位值

描述

mbx4

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 4,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 5 寄存器

地址偏移:0x2C

表 5.13:LOCKOUT5 寄存器格式

字段

位

访问

复位值

描述

mbx5

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 5,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 6 寄存器

地址偏移:0x30

表 5.14:LOCKOUT6 寄存器格式

字段

位

访问

复位值

描述

mbx6

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 6,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱锁定 7 寄存器

地址偏移:0x34

表 5.15:LOCKOUT7 寄存器格式

字段

位

访问

复位值

描述

mbx7

3:0

RW

0xE

位图指示哪些主机被禁止访问邮箱 7,位 n 为 1b 则阻止主机 cpu_id n。

保留

31:4

/

0x0

/

邮箱中断使能寄存器

地址偏移:0x38

表 5.16:INTEN 寄存器格式

字段

位

访问

复位值

描述

mbx0_ifre

0

RW

0x0

该主机已连接到邮箱 0,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx0_done

1

RW

0x0

输出邮箱 0 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx1_ifre

2

RW

0x0

该主机已连接到邮箱 1,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx1_done

3

RW

0x0

输出邮箱 1 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx2_ifre

4

RW

0x0

该主机已连接到邮箱 2,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx2_done

5

RW

0x0

输出邮箱 2 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx3_ifre

6

RW

0x0

该主机已连接到邮箱 3,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx3_done

7

RW

0x0

输出邮箱 3 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx4_ifre

8

RW

0x0

该主机已连接到邮箱 4,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx4_done

9

RW

0x0

输出邮箱 4 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx5_ifre

10

RW

0x0

该主机已连接到邮箱 5,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx5_done

11

RW

0x0

输出邮箱 5 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx6_ifre

12

RW

0x0

该主机已连接到邮箱 6,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx6_done

13

RW

0x0

输出邮箱 6 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx7_ifre

14

RW

0x0

该主机已连接到邮箱 7,并且该邮箱当前未满 - 1’b0:中断禁用 - 1’b1:中断使能

mbx7_done

15

RW

0x0

输出邮箱 7 包含一个给该主机的邮箱数据 - 1’b0:中断禁用 - 1’b1:中断使能

mbx_linkable

16

RW

0x0

该中断信号表示至少还有一个邮箱可以被访问此寄存器的主机连接(存在一个未连接、空的输入邮箱,其锁定位对该主机为 0b)

保留

31:17

/

0x0

/

邮箱中断状态寄存器

地址偏移:0x3C

表 5.17:INTST 寄存器格式

字段

位

访问

复位值

描述

mbx0_ifre

0

RW

0x0

该主机已连接到邮箱 0,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx0_done

1

RW

0x0

输出邮箱 0 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx1_ifre

2

RW

0x0

该主机已连接到邮箱 1,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx1_done

3

RW

0x0

输出邮箱 1 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx2_ifre

4

RW

0x0

该主机已连接到邮箱 2,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx2_done

5

RW

0x0

输出邮箱 2 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx3_ifre

6

RW

0x0

该主机已连接到邮箱 3,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx3_done

7

RW

0x0

输出邮箱 3 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx4_ifre

8

RW

0x0

该主机已连接到邮箱 4,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx4_done

9

RW

0x0

输出邮箱 4 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx5_ifre

10

RW

0x0

该主机已连接到邮箱 5,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx5_done

11

RW

0x0

输出邮箱 5 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx6_ifre

12

RW

0x0

该主机已连接到邮箱 6,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx6_done

13

RW

0x0

输出邮箱 6 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx7_ifre

14

RW

0x0

该主机已连接到邮箱 7,并且该邮箱当前未满 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx7_done

15

RW

0x0

输出邮箱 7 包含一个给该主机的邮箱数据 - 1’b0:不活动 - 1’b1:挂起,写入 1 清除状态位

mbx_linkable

16

RW

0x0

该中断状态表示至少还有一个邮箱可以被访问此寄存器的主机连接(存在一个未连接、空的输入邮箱,其锁定位对该主机为 0b)

保留

31:17

/

0x0

/

邮箱内部配置选项

地址偏移:0x5C

表 5.18:OPT 寄存器格式

字段

位

访问

复位值

描述

mbx_num

3:0

RO

0x4

直接指示存在的输入/输出邮箱对数量,范围 1 ~ 8(默认为 4)

mbx_size

5:4

RO

0x1

指示每个输入/输出邮箱的实际实现大小 - 2’b00:128 字节 - 2’b01:256 字节 - 2’b10:512 字节 - 2’b11:1K 字节

active_host_n

8:6

RO

0x0

指示活动主机数量,范围 1~32

保留

11:9

/

0x0

/

master_id

13:12

RO

0x0

指示主主机的 cpu_id 值

保留

16:14

/

0x0

/

prot_av

17

RO

0x0

  • 1’b0:不支持保护

  • 1’b1:支持保护

my_id

19:18

RO

0x0

实际读取此寄存器的主机 ID 代码,即读访问期间使用的 cpu_id 输入值。

保留

22:20

/

0x0

/

prot

23

RO

0x0

指示实际读取此寄存器的主机的当前保护位值