仅对英特尔可见 — GUID: aop1552182957065
Ixiasoft
仅对英特尔可见 — GUID: aop1552182957065
Ixiasoft
11.4. 从RTL代码创建对象
您可以从封装了寄存器传输级(RTL)语言源文件的目标文件创建库。基于RTL的目标文件还包含一个对象清单文件(manifest)(XML 格式),该文件标识了可在目标文件中调用的函数。一个库可以包含多个基于RTL的对象。
从RTL代码创建库分为两个步骤。首先,根据对象清单文件中的描述,通过fpga_crossgen命令从RTL源和仿真模型创建每个目标文件。然后,通过fpga_libtool命令将一个或多个对象文件收集到HLS库文件中。
要从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。 |