Intel® FPGA SDK for OpenCL™ Pro Edition: 最佳实践实践指南

ID 683521
日期 9/26/2022
Public
文档目录

10.6. 创建RTL模块

您可以将RTL模块嵌入到OpenCL内核中。有关如何将RTL模块集成到您的OpenCL设计中,请参阅了解RTL模块和OpenCL流水线小节。
创建一个英特尔 Stratix 10 OpenCL可兼容的RTL模块,您必须了解特定于英特尔 Stratix 10的复位信号变化,并知道如何将兼容的流水线接口写入RTL模块。

有关特定于英特尔 Stratix 10的RTL设计最佳实践的更多信息,请参阅 英特尔 Stratix 10高性能设计手册

存在无停顿和可停顿RTL模块。无停顿RTL模块是固定延迟模块,离线编译器可以优化掉停顿逻辑。请参阅 Intel® FPGA SDK for OpenCL™ Pro版编程指南中的无停顿RTL小节了解更多信息。

可停顿RTL模块具有可变延迟,并依赖背压(backpressured)输入和输出接口才能正常运行。在英特尔 Stratix 10设计中实现可停顿接口会消耗大量FPGA资源,因为握手逻辑限制了重定时。在英特尔 Stratix 10设计中使用可停顿的接口还会禁用数据路径控制优化方案。

Intel® 强烈建议您使用无停顿RTL模块,因为离线编译器可以更有效地将它们合并到您的英特尔 Stratix 10设计中去。

注: 无停顿和可停顿RTL模块的复位要求存在重要差异。这些是RTL模块功能正常的必要要求。请参阅 Intel® FPGA SDK for OpenCL™ Pro版编程指南中的无停顿和可停顿RTL模块特定于英特尔 Stratix 10设计的复位要求