AN 796: Cyclone® V和 Arria® V SoC 器件设计指南

ID 683360
日期 7/27/2020
Public
文档目录

3.6.4. 避免ACP Dependency锁定

ACP和CPU的某些一致性访问过程中会导致死锁。但是,可通过简单的访问策略来避免这个类型的死锁。
如下实例中,由于CPU发起对FPGA逻辑中HPS的访问而导致死锁:
  1. CPU发起对FPGA逻辑中器件存储器的访问。CPU流水必须停顿,直到完成该类型的访问。
  2. 在FPGA逻辑状态机可以响应器件存储器访问之前,其对HPS的访问必须一致。发起一致性访问过程中需要ACP。
  3. 必须先执行ACP高速缓存维护操作,然后才能完成该访问。然而,CPU的流水停顿会阻止执行高速缓存维护操作。从而导致死锁。

可以将所需访问拆分成较小的部分来实现,并且避免出现死锁。例如,可通过一个访问发起高速缓存维护操作,然后通过另一个访问确定操作状态。