AMBA - CHI(5) System coherency Interface
1. OverView
系统一致性接口信号有:
SYSCOREQ: 请求者一致性请求
SYSCOACK: 互连一致性确认
SYSCOREQ和SYSCOACK信号与CLK同步,因此不需要同步。如果它们跨越时钟域,则需要时钟域交叉桥来同步信号
2. Handshake
请求节点(RN-F或RN-D)通过设置SYSCOREQ HIGH请求连接到系统一致性。
连接表明通过设置SYSCOACK HIGH使能一致性。
请求节点通过设置SYSCOREQ LOW请求从系统一致性断开连接。通过设置“SYSCOACK LOW”,互联表示禁用一致性。
进入和退出一致性的请求总是由请求节点发起。
如图15-2所示,接口信令遵循四个阶段握手规则:
• 只有当SYSCOACK处于相同的逻辑状态时,SYSCOREQ才能改变。
• 只有当SYSCOREQ处于相反的逻辑状态时,SYSCOACK才能改变。
1. RN Rules
• 当它将SYSCOREQ HIGH设置为t1时,能够服务Snoop请求。
• 在SYSCOACK在t2达到HIGH之前,不要发出允许缓存一致位置的事务。
• 确保在设置SYSCOREQ之前,所有允许缓存一致位置的事务都已经完成t3时较低。
• 保持服务Snoop请求,直到SYSCOACK在t4被采样为LOW
必须在握手信号稳定时,保证一致性的传输;
2. Interconnect rules
当互连采样SYSCOREQ高时,它必须:
• 设置SYSCOACK HIGH,不等待任何Snoop请求的响应SYSCOREQ变高。
• 当它将SYSCOACK高设置为t2时,能够从接口提供一致的数据访问。
当互连采样SYSCOREQ LOW时,它必须:
• 在将SYSCOACK LOW设置为t4之前,完成对接口的所有窥探访问。
3. 信号状态
State name | SYSCOREQ | SYSCOACK | Description |
Coherency Disbable | 0 | 0 | a. RN Caches must not contain coherent data b. RN must not issue transactions that permit it to cache a coherent location ot send DVM transactions c.RN not required to respond to snoop requests d. interconnect must not send snoop request. |
Coherency Connect | 1 | 0 | a. RN cache不能有一致性数据; b. RN不能发送cache和DVM 传输; c. RN必须响应snoop request; d. 互连可以发送snoop请求 |
Coherency Enabled | 1 | 1 | a. RN cache可以有一致性的数据 b. RN能发送cache和DVM 传输; c. RN必须响应snoop request; |
Coherency Disconnect | 0 | 1 | a. RN cache不能有一致性数据; b. RN不能发送cache和DVM 传输; c. RN必须响应snoop request; d. 互连必须完成还没完成的snp请求,但是不能再产生snoop请求 |