请参阅图 7-3,DMDLOAD_REQ 是从 APPS FPGA 发送到 DLPC964 控制器的信号。
Aurora 块数据传输完成后,APPS FPGA 用户逻辑必须将 DMDLOAD_REQ 置为有效,以便向 DLPC964 控制器指示 DMD 块结束,并触发 DLPC964 控制器执行块控制字中编码的操作。
将 DMDLOAD_REQ 信号置为有效和发送块控制字的指南:
- APPS FPGA 用户逻辑必须等待块数据传输在全部四个 Aurora 数据通道上完成,然后再将 DMDLOAD_REQ 置为有效。在 Aurora 块数据传输完成前将 DMDLOAD_REQ 置为有效可能导致数据不能正确加载到 DMD。APPS FPGA 必须考虑到四个 Aurora 数据通道接口可能彼此不完全同步,因此可能不会在完全相同的时钟周期完成数据传输。因此,APPS FPGA 必须监控并确保 Aurora 块数据传输在全部四个通道上均已完成,然后再将 DMDLOAD_REQ 置为有效。
- 在完成一个 Aurora 块传输后,只要满足 300ns 的 DMDLOAD_REQ 建立时间,即可将 DMDLOAD_REQ 立即置为有效(更多详细信息,请参阅节 7.3.1.3)。
- APPS FPGA 用户逻辑必须在启动下一个新 DMD 块数据的发送之前将当前块的 DMDLOAD_REQ 置为有效。换句话说,每个块必须以一个块控制字数据包开头并以 DMDLOAD_REQ 置位结束。
- 对于不涉及块数据传输的操作(例如块清除或块置位操作),仍然需要 DMDLOAD_REQ,并且仍然必须满足所需的 300ns 的建立时间(更多详细信息,请参阅节 7.3.1.3)。
- 请参阅图 7-5。在大多数情况下,当 APPS FPGA 用户逻辑完成当前数据块的传输后,该用户逻辑可能会发现 DLPC964 控制器仍在将前一个块加载到 DMD 中(即 BLKLOADZ 为低电平)。如果发生这种情况,APPS FPGA 仍可以在 BLKLOADZ 为低电平时将 DMDLOAD_REQ 置为有效。DLPC964 控制器将检测和存储 DMDLOAD_REQ 请求,并在前一个数据块的传输完成后立即执行数据加载。
- DLPC964 控制器具有两个数据块缓冲器 - 一个用于从 APPS FPGA 接收传入的 Aurora 数据块,另一个用于保存前一个数据块以将数据流式输出到 DMD。APPS FPGA 必须小心谨慎,以避免使这两个缓冲器溢出。请参阅图 7-5。在完成块数据的 Aurora 数据传输并将 DMDLOAD_REQ 信号置为有效后,APPS FPGA 必须等待 DLPC964 控制器将 BLKLOADZ 置为无效(即 BLKLOADZ 从低电平转换为高电平),然后再启动下一个块数据传输。BLKLOADZ 置为无效表明 DLPC964 控制器已完成了前一个块的 DMD 数据加载操作,并且释放了数据缓冲器以便从 Aurora 接口接受新的数据块。如果 APPS FPGA 没有将 Aurora 块数据传输与 BLKLOADZ 信号置为无效同步,则缓冲器可能会溢出,数据也无法正确加载到 DMD 中。
- 发送 DMD 数据块后,APPS FPGA 没有必要立即将 DMDLOAD_REQ 置为有效。APPS FPGA 可能会向 DLPC964 控制器发送一个 DMD 数据块,然后延迟将 DMDLOAD_REQ 置为有效,直到系统为加载 DMD 做好准备。图 7-6 说明了该操作。
- 在全部四个 Aurora 数据接口上的当前块数据传输完成后,APPS FPGA 用户逻辑立即将 DMDLOAD_REQ 置为有效。
- DLPC964 控制器将 BLKLOADZ 置为无效以指示前一个 DMD 块的数据加载操作完成。
- APPS FPGA 用户逻辑会检测 BLKLOADZ 置为无效的情况,并在 Aurora 通道 0 User-K 端口上为下一个块数据发送新的块控制字。
- APPS FPGA 用户逻辑发送下一个块的数据。
- DLPC964 控制器将 BLKLOADZ 置为低电平,指示由 DMDLOAD_REQ 触发的当前块的数据加载操作在 1 上发生。
图 7-6 DMDLOAD_REQ 延迟置为有效波形. - APPS FPGA 完成当前图形的最后一个块数据(块 15)发送,并将 DMDLOAD_REQ 置为有效以指示 DLPC964 控制器执行数据加载操作。
- 从块 1 到块 15,DLPC964 控制器均由 DMDLOAD_REQ 触发加载数据。
- 当 DLPC964 控制器加载当前图形的块 15 时,APPS FPGA 通过 Aurora 数据接口发送下一个图形第一个块(块 0)的数据。
- 在完成当前图形的块 15 的数据加载后,DLPC964 会将 BLKLOADZ 置为无效。APPS FPGA 检测到 BLKLOADZ 置为无效(因为当前图形的最后一个块数据已加载到 DMD 上)并发出 MCP_START 信号以进行全局块 MCP 操作。请注意,DLPC964 控制器将 MCP0_ACTIVE 信号置为有效,以指示 MCP 微镜操作正在进行。
- 由于需要满足微镜稳定时间的要求,APPS FPGA 延迟将下一个图形中块 0 的 DMDLOAD_REQ 置为有效。
- 将下一个图形的块 0 的 DMDLOAD_REQ 置为有效后,APPS FPGA 会发送块 1 的块控制字。
- DLPC964 控制器将 BLKLOADZ 置为有效以指示 DMD 数据加载操作是由 5 的 DMDLOAD_REQ 触发的。