Xilinx Zynq mpsoc 的 pcie Tandem 配置

参照Xilinx 《UltraScale Devices Gen3Integrated Block for PCI Express v4.4》 LogiCORE IP Product Guide中的Ch.3章节中的Tandem Configuration.

PCI Express specification对设备的要求是PERST# must deassert 100 ms after the power good of the systems has occurred, and a PCI Express port must be ready to link train no more than 20 ms after PERST# has deasserted.但是FPGA加载包含有PCIE IP 的Bit文件时间就已经远远超过了120ms.于是Xilinx PCIE的IP里有叫做Tandem的功能用来首先将一部分有关与PCIE的配置加载到FPGA中,好让FPGA在100ms实现PCIE识别训练所必须的配置.

这里对Tandem配置的FPGA部分不做讨论,在PG156文档中包含了如何去配置PCIE的IP和如何去修改约束文件等等.在这里只讨论Zynq系列的ARM硬核+FPGA平台下如何去将Tandem功能配置好.

手册中解释的是由Vivado综合出来1个完整的Bit文件,然后再将此Bit文件通过工具生成出PROM文件比如MCS文件来烧录到SPI FLASH等存储器中.

Vivado也可以生成出两段Bit文件,分别为Stage1和Stage2,以此用JTAG分别下载来验证Tandem功能的完整性和正确性.

在Xilinx SDK开发环境下,一般采用默认生成的FSBL,此FSBL无法将一个Bit文件自主分段加载到FPGA中,也就导致了包含有1个Bit文件的PROM文件,无法实现Tandem的功能,因为Bit 通过FSBL加载只能整个加载,所耗费的时间一般也是超过100ms的.

这时候在保证尽量少改动FSBL的动机下,可以使用用于JTAG验证的两段Bit文件进行FPGA的配置.将FSBL修改为支持加载2段Bit文件.

FSBL配置FPGA是通过PCAP interface实现的,通过PCAP,PS可以将PROM中所包含的FPGA配置信息加载到FPGA中.

而PCAP的使用包含了初始化和加载阶段.

初始化阶段进行PCAP的寄存器配置,其中包含Clear FPGA的有关动作,这个动作在Stage2加载时应该去掉,以免Stage2的加载影响到已经加载进FPGA的Stage1部分,并且在开启Stage2的配置之前,确保Stage1已经配置完毕.

Zynq ultrascale+ mpsoc的pcap status寄存器描述如下:

Pcap status(CSU) Register

可以通过检测此寄存器的Bit3来判断Stage1是否加载完成,如果Bit3为1,则Stage1加载完成.

Pcap prog寄存器用来Reset PL,寄存器描述如下

对此寄存器的操作包含了Clear PL的动作,所以在Stage1配置前应当保留以下代码,对PL Reset操作,只在Stage2配置时应当删除此段代码,以免Clear PL

 

/* Reset PL */

XFsbl_Out32(CSU_PCAP_PROG, 0x0U);

 

(void)usleep(PL_RESET_PERIOD_IN_US);

 

XFsbl_Out32(CSU_PCAP_PROG, CSU_PCAP_PROG_PCFG_PROG_B_MASK);

 

/*

* Wait for PL_init completion

* Bypass this check in platforms not supporting PCAP interface

*/

 

PlatInfo = XGet_Zynq_UltraMp_Platform_info();

 

if ((PlatInfo != (u32)XPLAT_ZYNQ_ULTRA_MP)

&& (PlatInfo != (u32)XPLAT_ZYNQ_ULTRA_MPQEMU)) {

/* To confirm house cleaning of PL is started */

do {

RegVal = XFsbl_In32(CSU_PCAP_STATUS) &

CSU_PCAP_STATUS_PL_CFG_RST_MASK;

} while (RegVal != CSU_PCAP_STATUS_PL_CFG_RST_MASK);

/* To confirm house cleaning of PL is done */

do {

RegVal = XFsbl_In32(CSU_PCAP_STATUS) &

CSU_PCAP_STATUS_PL_INIT_MASK;

} while (RegVal != CSU_PCAP_STATUS_PL_INIT_MASK);

} else {

XFsbl_Printf(DEBUG_GENERAL,

"PCAP interface is not supported in this platform \r\n");

}

 

Load阶段就是FPGA配置信息加载阶段,此阶段使用CSU DMA将Bit Stream加载到PL,此部分可沿用FSBL代码.

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xilinx Zynq UltraScale MPSOC是一款高性能、低功耗的嵌入式系统芯片,结合了可编程逻辑和ARM处理器,支持软件定义的网络和安全功能。它具有多个高速接口、基于硬件加速的信号处理和音视频编解码能力,适用于各种应用场景,如智能网关、工业自动化、智能监控等。 ### 回答2: Xilinx Zynq Ultrascale MPSoC是一款高性能、低功耗的多核处理器,具备FPGA可编程逻辑和ARM Cortex-A53/Cortex-R5核心。它是Xilinx最新的全家桶技术之一,可广泛应用于各种应用领域,如机器人控制、视频处理、嵌入式系统、网络应用等。 该处理器的主要优势在于它强大的计算和处理性能,具有高效的多任务处理能力和多用户操作能力。它同时也具备出色的实时性能和功耗效率,能够满足严格的实时应用要求。此外,该处理器还拥有丰富的技术特性和可靠性保证,如信号处理功能、电源管理、安全特性等,可满足不同应用场景的需求。 Zynq Ultrascale MPSoC还具有一些独特的功能,如H.265压缩/解压缩引擎、高速串行接口等。这些特性加强了处理器处理图像、视频和音频等多媒体数据的能力。同时,该处理器还支持高速外设接口,如PCI Express 4.0和USB 3.0,以便能够进行高速数据传输和外设输入输出。 总之,Zynq Ultrascale MPSoC是一款极具竞争力的处理器,具有平衡的性能和功耗特征,适用于各种应用场景。它的FPGA可编程逻辑和ARM Cortex-A53/Cortex-R5核心,使得它能够适应市场需求的不断变化和创新。 ### 回答3: 赛灵思(Xilinx)的Zynq Ultrascale MPSoC是一款高度协同的系统芯片,集成了处理器系统、程序可编程逻辑和多个硬件加速器。它是基于ARM Cortex-A53和Cortex-R5处理器核心的芯片,同时还集成了FPGA资源。这使得它可以同时支持实时处理和高性能计算,并且具备强大的可编程性和灵活性。 Zynq Ultrascale MPSoC具备多种应用,包括无线通讯、医疗、工业控制、音视频处理等。它的FPGA资源让其能够定制化设计,适应各种应用需要。同时,它还为高级别的可编程性提供了很好的支持。其处理器系统可以运行各种操作系统和软件栈,例如Linux,FreeRTOS等,为应用提供更多的开发和应用选择。 此外,Zynq Ultrascale MPSoC具有高度的可扩展性和集成性。它可以与其他Xilinx FPGAs和SoCs一起使用,形成更大规模的计算和数据处理系统。同时,它还支持多种外设和接口,例如PCIe、USB、以太网等,以便于与其他外部系统的连接。MPSoC还集成了多种硬件加速器,例如视频编解码器、图像处理器、机器学习加速器等,使其可以支持多种高性能计算和数据处理应用。 Zynq Ultrascale MPSoC的设计和制造过程采用了先进的技术,包括28nm、16nm和7nm工艺。这保证了它的高性能、低功耗和高集成度。此外,Xilinx还提供了广泛的开发工具和支持,以帮助用户进行设计、验证和开发。 总之,Zynq Ultrascale MPSoC是一款高度协同、可定制化的系统芯片,具备强大的可编程性和灵活性。它适用于多种应用场景,并且为开发者和应用提供了多种选择和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值