Xilinx MPSOC系列FPGA PS-PL接口介绍
Xilinx的MPSOC系列FPGA包括两大功能块,PS(Processing System)部分和PL(Progarmmable Logic)部分。PS部分是一个完整的ARM处理器系统,包括ARM Cortex-A53处理器,RPU Cortex-R5处理器,AMBA互联,内部存储器(OCM),外部存储器接口(DDR Controller)和外设(IOU)。PL部分是一个标准的FPGA,包含LUT,Block RAM,DSP,高速串行总线,DDR控制器等FPGA常用资源。MPSOC系统框图如图 1所示。在实际项目中,通常需要在PS和PL之间进行大数据量的交互,本文对PS端的主机和从机接口进行介绍。图 1 MPSOC系统框图
一、PS主机接口
主机接口包括三个,分别是:M_AXI_HPM0_FPD,M_AXI_HPM1_FPD,M_AXI_HPM0_LPD。每个主机接口可以在Vivado中进行配置,配置界面如图 2所示:
图 2 PS主机接口配置界面
PS中启用主机接口功能以后,需要设置该主机接口对应的地址,CPU可以使用该地址访问PL中的外设,地址分配如图 3所示。外设包括bram控制器、DMA控制器、DDR存储器。
图 3 主机端口地址分配
当PS和PL进行交互时,PS的程序只需要使用指针对地址进行读写,操作非常方便。当需要传输大量数据时,我们使用memcpy、for循环等方法进行数据拷贝。CPU程序中的每次数据的读写操作都会触发主机端口的一次读写传输,写时序如图 4所示,单次读写需要消耗多个总线时钟周期,当需要传输大量数据时候会造成较大延时。
图 4 单次写操作大约需要15个总线时钟
二、PS从机接口
PL可以使用PS的从机接口访问PS的内部资源,如片上存储器(OCM),DDR等。PS包括九个从机接口,分别是:S_AXI_HP0FPD,S_AXI_HP1PD,S_AXI_HP2PD,S_AXI_HP3PD,S_AXI_LPD,S_AXI_ACE_FPD,S_AXI_ACP_FPD,S_AXI_HPC0FPD,S_AXI_HPC1PD。每个从机接口可以在Vivado中进行配置,配置界面如图 5所示:
图 5 PS从机接口配置界面
PS中启用从机接口功能以后,需要设置该接口对应的地址,PL使用该地址访问PS中数据,从机接口地址分配如图 6所示。
图 6 从机端口地址分配
PL中可以使用从机接口对PS中的数据进行连续读写,最短读写时间为1个总线时钟,PL写时序如图 7所示。通过PS的从机接口,可以实现PS-PL的高速数据传输。
图 7 PL通过从机接口往PS中写数据
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。