VERSAL ACAP的加载与配置

张开发
2026/4/10 19:20:17 15 分钟阅读

分享文章

VERSAL ACAP的加载与配置
1、缩略语MIO : multiplexed I/OPMC : platform management controllerTRM : technical reference manualACAPPS : processing systemRPU : real-time processing unitAPU : application processing unitRCU : ROM Code UnitPPU : PMC Processing UnitPSM : PS ManagerPL : Programmable LogicIPI : Inter-processor InterruptsGEM : Gigabit Ethernet MACPLM : platform loader and managerSSS : secure stream switchSBI : slave boot interfacePDI : programmable device image2、VERSAL ACAP结构图2.1 器件级Block图2.2 器件级互联图3、VERSAL ACAP与其他系列加载方式对比4、VERSAL ACAP加载方式ModeMODE[3:0] PinsPMC I/O PinsSecure Boot CapableData Bus widthDescriptionInterfaces controlled by external devicesJTAG0000Dedicated I/ONo1-bitDedicated JTAG interfaceSelectMAP1010MIO[51:28,25:14]YES8-bit, 16-bit, 32-bitSelectMAP bidirectional parallel data bus interfaceInterfaces controlled by on-chip controllersOSPI1000MIO[12:0]YES8-bitOctal SPI interface supports single and dual-stacked flash devicesQSPI240001MIO[12:0]YES1-bit,2-bit,4-bit(single or dual-stacked),8-bit(dual-parallel)Quad SPI interface supports the 24-bit(3-byte) flash addressesQSPI320010MIO[12:0]YES1-bit,2-bit,4-bit(single or dual-stacked),8-bit(dual-parallel)Quad SPI interface supports the 32-bit(4-byte) flash addresses. 32-bit flash addressing is required to address flash devices that are greater than 128MbeMMC1(4.51)0110MIO[12:3,0]YES1-bit,4-bit,8-bitSD interface supports SD 3.0 with a required SD 3.0 compliant external level shifterSD0(3.0)0011MIO[49:37]YES4-bitSD interface supports SD 2.0SD1(2.0)0101MIO[51:50,33:28,26]YES4-bitSD1(3.0)1110MIO[51:50,36:26]YES4-bitSD interface supports SD 3.0 with a required SD 3.0 compliant external level shifter5、用于加载的PMC(Platform Management Controller) IO管脚6、各加载方式的BootROM搜索地址空间限制该空间用于定位设备镜像的boot header当超出地址空间范围仍未成功加载RCUROM Code Unit锁住的同时ERROR_OUT管脚也被置高。注意当使用OSPI或者QSPI 的dual-stacked模式时BootROM只能加载QSPI或者OSPI的低位地址空间在成功启动之后PLM才能够方位QSPI或者OSPI的高位地址空间中的镜像内容。6.1 JTAGJTAG接口是一种多功能接口可以用于启动和调试功能其接口IO描述如下6.2 Octal SPI6.2.1 简述Octal SPI启动模式是一种支持8位数据位宽传输的SPI总线接口。BootROM在OSPI设备上运行的时钟频率范围11MHz~24.5MHz具体参考REF_CLK的值。6.2.2 指令Octal SPI启动模式对应3中指令优先级7Ch 13h 03hVersal ACAP会按照优先级一次去查找有效启动header如果仍然未找到有效启动headerRCU就会锁住同时ERROR_OUT管脚置高。6.2.3 寄存器设置6.2.4 管脚信号MIO[0:5,7:12]被BootROM配置使用MIO[6]不配置各管脚具体功能如下6.2.5 接口原理图示例1单设备2双设备时分复用通过片选管脚低电平有效来选中设备其中管脚OSPI0_CS_b选中低位flash设备OSPI1_CS_b仅用于dual-stacked选中高位flash设备。在双设备接口模式下flash最大地址空间翻倍需要注意的是在启动阶段仅低位地址空间的flashOSPI0_CS_b选中的flash可用启动之后高位地址空间的flashOSPI0_CS_b选中的flash可用。6.3 Quad SPI6.3.1 简述VERSAL的QSPI接口提供了两种地址位宽的接口类型其中QSPI24使用24位地址位宽模式、QSPI32使用32位地址位宽模式。其中QSPI32接口加载模式要求flash的空间大于128MB。BootROM在QSPI设备上运行的时钟频率范围11MHz~24.5MHz具体参考REF_CLK的值。6.3.2 启动类型QSPI对应3中Setup模式包含单flash和双flash6.3.3 指令6.3.4 I/O配置检测BootROM通过QSPI接口使用的位宽检测参数值0xAA995566、X8并行配置的镜像识别参数值0x584C4E58来检测I/O的位宽。1X4 I/O检测主要通过检测参数0xAA995566来判断I/O位宽为X4。注意dual-stacked双设备模式BootROM只检测第一个flash设备低地址空间。2X8 I/O检测X8位并行控制双设备模式BootROM仅访问第一个flash设备的header偶数位header已经在两个设备中进行了拆分。BootROM组了一个32位的字包含位宽检测0x20和镜像识别0x24参数值的偶数位。BootROM会去检测这个条件确认系统使用的是X8并行控制双设备模式。6.3.5 寄存器设置6.3.6 管脚信号QSPI24/QSPI32接口模式单设备/时分复用双设备使用管脚MIO[6:0]并行控制双设备使用管脚MIO[12:0]。各管脚信号具体功能描述如下表6.3.7 接口原理图示例1单设备单设备QSPI这种硬件接口类型成本低、节省配置和加载管脚支持X1X2X4数据总线位宽同时支持24位/32位地址位宽模式。下图是32位地址位宽模式/X4总线位宽硬件原理图示例注意当QSPI的时钟频率大于37.5MHz时QSPI_LPBK_CLK管脚必须在设计上引出并在板卡上处于NC状态。下图是QSPI接口时序图其中QSPI0_IO0还需要传输读命令和地址数据2双设备时分复用在双设备接口模式下flash最大地址空间翻倍同时因为两个flash设备共用CLK/IO管脚也能节省IO管脚的使用。同OSPI的dual-stacked接口模式一样在启动阶段仅能访问低位地址空间的flash内容启动之后才能访问高位地址空间的flash内容。这里启动阶段的吞吐率实际跟但设备的QSPI模式一模一样。下图是32位地址位宽模式的dual-stacked QSPI硬件原理图示例注意当QSPI的时钟频率大于37.5MHz时QSPI_LPBK_CLK管脚必须在设计上引出并在板卡上处于NC状态。3双设备并行控制这种并行控制的硬件接口连接通过两组SPI控制IO连接两个flash可以将原有的X4数据总线位宽拓展为X8数据总线。注意该模式下仅能支持QSPI设备X4数据总线位宽不支持X1和X2。下图为32为地址位宽的并行控制双设备的QSPI接口原理图示例:注意当QSPI的时钟频率大于37.5MHz时QSPI_LPBK_CLK管脚必须在设计上引出并在板卡上处于NC状态。6.4 SD6.4.1 简述VERSAL ACAP包含两个SD/eMMC控制器SD/eMMC控制器用于SD或者eMMC启动模式时当控制器用于SD启动模式后eMMC启动模式不能再被使用存在互斥关系。6.4.2 启动类型SD启动模式包含3种类型SD/eMMC控制器在这3中类型上使用时MIO管脚的使用情况不同。SD12.0启动模式支持SD2.0规范SD13.0启动模式支持SD3.0规范SD03.0启动模式支持SD3.0规范。在SD启动模式下RCU BootROM在SD设备中运行的时钟频率在8.7MHz~19.3MHz这个值与REF_CLK的设置有关系。另外FAT 16/32文件系统可支持SD启动模式下的启动镜像回读。6.4.3 寄存器设置1SD12SD06.4.4 管脚信号SD模式下SD12.0使用MIO[26,29,30:33]SD13.0使用MIO[26:27,29:36]SD03.0使用MIO[38,40:48]。剩余管脚不做配置保持初始状态。1SD12.0启动方式的管脚信号2SD13.0启动方式的管脚信号3SD03.0启动方式的管脚信号6.4.5 接口原理图示例1SD2.0在SD2.0启动模式下FPGA的PMC_MIO对应的Bank1的电压需要设置在3.3V。如果Bank1中的全部26个MIO中有部分MIO要共享给电压在1.8V或者2.5V的其他外设使用时即Bank1被设置在1.8V或者2.5V给SD卡的MIO必须进行电平转换后再接入SD卡的接口中SD1 2.0启动模式。单SD卡原理图如下说明SD1_DETECT/SD1_WP/SD1_BUSPWR在初始加载中可不配置。2SD3.0在SD3.0启动模式下FPGA的PMC_MIO对应的Bank1的电压需要设置在1.8V。SD3.0启动模式下带SD卡的接口需要在电压3.3V条件下完成初始化然后再在电压1.8V的条件下进行高速传输。带电平转换的SD13.0单SD卡原理图如下说明SD1_DETECT/SD1_WP/SD1_BUSPWR在初始加载中可不配置如果需要使用SD1_DETECT/SD1_WP将它们按照上图中接入电平转换电路这样既完成上拉还可以提供ESD保护。SD13.0的MODE[3:0] 1110SD03.0的MODE[3:0] 00116.5 eMMC16.5.1 简述VERSAL ACAP包含两个SD/eMMC控制器SD/eMMC控制器用于SD或者eMMC启动模式时当控制器用于eMMC启动模式后SD启动模式不能再被使用存在互斥关系。SD1/eMMC1控制器支持4.51eMMC规范对于eMMC启动模式来说FAT 16/32文件系统及选择原始的分区组合均可以从eMMC读取初始启动的镜像文件。eMMC1启动模式下RCU BootROM可支持eMMC1设备运行在8.7MHz~19.3MHz范围内具体参考REF_CLK的设置。eMMC1启动模式支持1.8V、1-bit、4-bit、8-bit数据传输。初始启动时BootROM会进行自动位宽检测依次检测8-bit、4-bit、1-bit。6.5.2 寄存器设置6.5.3 管脚信号eMMC1启动模式下使用MIO[0,3:12]剩余管脚不做配置保持初始状态。6.5.4 接口原理图示例6.6 SelectMAP6.6.1 简述SelectMAP启动模式时用外部的处理器/控制器来启动和配置1个或者多个Versal ACAP FPGA外部的处理器/控制器驱动SelectMAP的数据、时钟、控制信号同时需要监控BUSY信号用于SelectMAP的启动初始化及流程控制。SelectMAP支持X8/X16/X32的双向数据总线接口。按照主动加载AS和被动加载PS来看SelectMAP应该属于PS模式此时FPGA就是一个FLASH设备由外部的处理器/控制器来进行程序的配置。BUSY信号可用于加载和配置的任何阶段因此该信号必须被监测来表示接口是否能接收数据。当BUSY信号置高后cs信号必须置低才能停止数据的载入持续24个SMAP_CLK并使用SBI的FIFO8KB来进行SelectMAP模式下的数据处理具体可以参考SelectMAP数据载入时序图6.6.2 bit流顺序由于SelectMAP涉及外部控制器那么在进行通信时必须对bit流顺序进行一定约束。1数据总线位宽的检测这里要根据PDI内的关键字进行识别2不同数据总线位宽的bit流顺序6.6.3 寄存器设置6.6.4 管脚信号SelectMAP启动模式下使用MIO[14:25,28:51]剩余管脚不做配置保持初始状态。6.6.5 接口原理图示例1单VERSAL设备这种高带宽的连接方式横跨VERSAL的多个bank其中PMC MIO的bank0和bnak1必须工作在相同的电压下。2多VERSAL设备多片选这种连接方式使用多片选和多BUSY信号可以给不同的VERSAL设备配置不同的镜像。其中这种高带宽的连接方式横跨VERSAL的多个bank同样的每个VERSAL设备PMC MIO的bank0和bnak1必须工作在相同的电压下。3多VERSAL设备单片选这种连接方式使用单片选和多BUSY信号可以给不同的VERSAL设备配置相同的镜像。其中这种高带宽的连接方式横跨VERSAL的多个bank同样的每个VERSAL设备PMC MIO的bank0和bnak1必须工作在相同的电压下。7 总结相比前代的7系列和Ultrascale系列VERSAL ACAP增加了OSPI和eMMC1加载模式删减了BPI和NAND加载模式这里OSPI和eMMC1可以在减少pin脚的情况下提供与BPI和NAND加载模式相同的性能。如果跟ZYNQ系列进行简单对比的话相对增加了OSPI这种新的加载模式。

更多文章