GIC600AE在原GIC600版本基础上增加了FuSa功能,所增加的FuSa特性都集成在GIC600外围,不会改变原GIC600的功能。
GIC600AE主要安全机制分布图:
GIC-600AE包含以下FuSa安全机制:
-
lockstep logic protection
通过添加duplication logic(重复冗余逻辑?)让相同的程序运行在两份相同的电路逻辑上,上图中每个GIC block都通过添加duplication logic(上图中蓝色部分)进行保护。 -
RAM protection
RAM为主逻辑(primary)和重复冗余逻辑(shadow)所共享,其通过SECDED ECC进行保护,其地址通过parity进行保护 -
AXI4-Stream interconnect protection
AXI4-Stream用于GIC block之间的连接,通过端到端的partial duplication(部分重复冗余?)进行保护。partial duplication指的是主互联逻辑中的payload data使用一种压缩CRC进行保护,在这里使用一个8bit的CRC对payload data进行保护。 -
AMBA 外部接口保护
所有外部接口都使用AMBA parity扩展进行保护,可以实现wire或buffer间点对点的保护。主要包括ACE-Lite,GIC Stream,Cross-Chip(CC)和外部APB接口 -
PPI SPI 中断源parity 保护
可选,若实现该保护机制,则每个PPI或SPI都有一个对应的parity bit。 -
P-channel and Q-channel protection
P-channel 和Q-channel通过parity保护 -
Systematic fault watchdog
GIC600AE内实现了一个基于PING-ACK机制的看门狗,在GIC Distributor中实现一个硬件机制,用于监测各组件是否正常工作,该机制以round-robin的方式ping其他GIC block,然后等待ACK响应。如果在指定的时间内没有接收到对应的响应,会上报fault。 -
Clock and resets
实现了两套clock和reset,主(primary)逻辑比重复冗余(redundant)逻辑早运行两个时钟。 -
Fault Management Unit
Fault Management Unit(FMU)位于GIC Distributor内,它负责处理其他GIC block安全机制产生的fault。FMU记录fault syndrome到Error Record中,同时通过Error Recovery Interrupt(ERI)和Fault Handing Interrupt(FHI)上报。同时还为每个安全机制提供fault injection和clearing功能。FMU通过APB接口与外部Safety Island进行通信。