Intel® 高层次综合编译器专业版Pro版: 参考手册

ID 683349
日期 12/04/2023
Public
文档目录

11.4. 从RTL代码创建对象

您可以从封装了寄存器传输级(RTL)语言源文件的目标文件创建库。基于RTL的目标文件还包含一个对象清单文件(manifest)(XML 格式),该文件标识了可在目标文件中调用的函数。一个库可以包含多个基于RTL的对象。

从RTL代码创建库分为两个步骤。首先,根据对象清单文件中的描述,通过fpga_crossgen命令从RTL源和仿真模型创建每个目标文件。然后,通过fpga_libtool命令将一个或多个对象文件收集到HLS库文件中。

图 19. 从RTL的库创建过程高层视图


要从RTL代码创建库,您需要创建以下文件和组件:

表 27.  从RTL代码创建库所需的文件和组件
文件或组件 描述
基于RTL的函数
RTL模块源文件

Verilog(.v)、System Verilog(.sv)或 VHDL(.vhd)文件和随附的存储器初始化文件(.mif或者.hex)定义库中的RTL模块。

您不能使用其他文件,例如Intel Quartus Prime IP File (.qip),Synopsys Design Constraints File (.sdc)或者Tcl Script File (.tcl)。

对象清单文件 XML(.xml) 文件描述RTL模块中可调用函数的属性。

Intel® HLS Compiler使用这些属性将HLS库中的RTL模块集成到组件流水线中。

RTL模块函数签名文件 C型头文件(.h)声明由RTL模块实现并在RTL模块属性文件中描述的函数的签名。

在您HLS组件源代码中使用此头文件,以便您的组件可以调用HLS库中提供的函数。

HLS仿真模型文件 C++文件(.cpp.h)包含与RTL组件功能等效且具有与RTL组件相同函数签名的代码。仿真(Emulation)模型仅用于组件仿真。模拟(Simulation)使用库中提供的RTL。