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

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

11.4.1.4.2. INTERFACE的XML元素

HLS库内RTL模块的RTL模块属性文件中,XML元素位于ATTRIBUTES下,可用于定义RTL模块接口的各个方面。

RTL模块无法访问HLS组件的存储器。

表 31.  RTL模块属性文件ATTRIBUTES元素的强制XML元素
XML元素 描述
INPUT

指定RTL模块的输入参数,该模块接收被调用的基于RTL的函数调用参数的值。

INPUT属性:

  • port

    指定RTL模块的端口名称。

  • width

    指定端口的宽度(以比特为单位)。

所有调用参数都必须按值传递。不能使用引用、指针和数组型参数(argument)。

OUTPUT

指定RTL模块的输出参数(parameter),表示基于该模块的函数的返回值。

OUTPUT属性:

  • port

    指定RTL模块的端口名称。

  • width

    指定端口的宽度(以比特为单位)。

    端口的宽度必须与函数返回值的C数据类型的大小匹配。端口宽度始终是8位的倍数。

返回值不能是指针。

STREAM 为RTL模块指定流参数。
STREAM属性:
  • port

    为RTL模块流输入指定基础端口名称。

  • width

    以比特为单位指定端口宽度。

  • direction

    指定流方向。

    direction属性的有效数据为inout。对由RTL模块读取的流使用direction="in",并对写入RTL模块的流使用direction="out"

  • buffer

    以字为单位指定流缓冲的大小。

    默认值为buffer="0"

  • usesValid

    指定该RTL模块是否对流接口使用valid信号。

    默认值为usesValid="no"

  • usesReady

    指定该RTL模块是否对流接口使用ready 信号。

    默认值为usesReady="no"

  • usesEmpty

    指定该RTL模块是否对流接口使用empty 信号。

    默认值为usesEmpty="no"

  • usesPackets

    指定该RTL模块是否对流接口使用数据包信号。

    默认值为usesPackets="no"

  • firstSymbolInHighOrderBits

    指定流中的数据符号是否以大端序(big endian)排序。

    默认值为 firstSymbolInHighOrderBits="no"

  • bitsPerSymbol

    指定数据总线上的数据如何拆分成符号。

    默认值为bitsPerSymbol="0"

  • readyLatency

    指定ready信号被解除置位后与输入流无法再接收新的输入之间的周期数。

    默认值为readyLatency="0".

您在此处指定的值必须与您组件中流对象输入接口参数值相匹配。关于您组件中流输入接口参数的详细信息,请参阅Intel HLS Compiler Pro版流输入接口

您RTL中的信号名称必须与您的组件代码一致。请参阅将HLS数据类型映射到RTL信号了解详细信息。