ILA 捕获数据缓冲器可拆分为 1 个或多个捕获窗口。每个窗口的深度均为 2 次幂,它表示样本数,范围为 1 到 (((缓冲器大小) / (窗口数)) - 1)。例如,如果 ILA 数据缓冲器深度为 1024 个样本,且分为 4 个捕获窗口,那么每个窗口深度最大为 256 个样本。每个捕获窗口都有各自独立的触发器掩码,对应于触发器事件,此类事件会导致填充捕获窗口。
下表显示了将“Number of Capture Windows”(捕获窗口数)设为大于 1 的值并将“Trigger Position”(触发器位置)设为 0 时,Vivado 运行时软件与硬件之间的交互。
软件 | 硬件 |
---|---|
在 ILA 核上使用“Runs Trigger”(运行触发器) |
窗口 0:装备 ILA 窗口 0:触发 ILA 窗口 0:ILA 填充捕获窗口 0 窗口 1:重新装备 ILA 窗口 1:触发 ILA 窗口 1:ILA 填充捕获窗口 1 …... 窗口 n-1:重新装备 ILA 窗口 n-1:触发 ILA 窗口 n-1:ILA 填充捕获窗口 n 整个 ILA 捕获缓冲器填满 |
上传并显示数据 | ILA 核会重新装备并准备就绪,以便在上一个窗口的最后一个样本完成捕获后的时钟周期内立即触发。 |
下表显示了将Number of Capture Windows设为大于 1 的值并将Trigger Position设为大于 0 的值时,Vivado 运行时软件与硬件之间的交互。
软件 | 硬件 |
---|---|
在 ILA 核上使用“Runs Trigger”(运行触发器) |
窗口 0:装备 ILA 窗口 0:ILA 填充捕获缓冲器,直至触发器位置为止 窗口 0:触发 ILA 窗口 0:ILA 填充捕获窗口 0 的其余部分 窗口 1:重新装备 ILA 窗口 1:ILA 填充捕获缓冲器,直至触发器位置为止 窗口 1:触发 ILA 窗口 1:ILA 填充捕获缓冲器 窗口 1:ILA 填充窗口 1 ...… 窗口 n-1:重新装备 ILA 窗口 n-1:ILA 填充捕获缓冲器,直至触发器位置为止 窗口 n-1:触发 ILA 窗口 n-1:ILA 填充捕获缓冲器 窗口 n-1:ILA 填充窗口 n 整个 ILA 捕获缓冲器填满 |
上传并显示数据 | 在 2 个相邻窗口间可能错过触发器,因为 ILA 现在必须填充捕获数据直至触发器位置为止。 |