作者:小墨,本文转载自:ZYNQ微信公众号
ZYNQ中的AXI接口包含三个类型,共9个,主要用于PS与PL的互联。
PL模块作为主设备
PS端是从设备端
PS端是从设备端
今天我们重点来说一下ACP接口。
ACP
AXI_ACP接口,是ARM多核架构下定义的一种接口,只有1个,中文翻译为加速器一致性端口,又叫加速器一致性端口,用来管理DMA之类的不带缓存的AXI外设,PS端是Slave接口。
AXI_ACP接口适合做专用指令加速器模块接口,加速器一致性端口提供对可编程逻辑主机的低延迟访问,并具有与L1和L2高速缓存的可选一致性。
从系统角度来看,ACP接口具有类似的功能,作为APU与CPU的连接性。
PL端可直接从PS部分的Cache中拿到CPU的计算结果,同时也可以第一时间将逻辑加速运算的结果送至Cache中,延时很小。
由于这种紧密的连通性,ACP直接与它们竞争在APU块之外进行资源访问。下图概述了ACP连接。
需要注意的是,必须先通过LVL_SHFTR_EN启用PL电平转换器,然后才能进行PL逻辑通信。
注意:默认情况下,所有PS外设均设置为安全Trustzone模式。这意味着任何用AxPROT [1] = 1表示的非安全访问将收到DECERR响应。