仅对英特尔可见 — GUID: rwu1548359133943
Ixiasoft
仅对英特尔可见 — GUID: rwu1548359133943
Ixiasoft
13.12. Intel® HLS Compiler Pro版组件宏
宏 | 描述 |
---|---|
hls_avalon_agent_register_argument | 将参数实现为可以通过 Avalon® 存储器映射(MM)agent接口读取和写入的寄存器。 |
hls_avalon_agent_memory_argument | 在片上存储器块中实现该参数,可以通过专用agent接口读取或写入。 |
hls_conduit_argument | 将该参数实现为与组件调用(启动和忙碌)同步的输入管道。 |
hls_readwrite_mode | 向编译器指示代理存储器接口如何被外部 Avalon® 存储器映射(MM)主机访问。 |
hls_stable_argument | 稳定参数是指在组件中存在实时数据时不会改变的参数(即,参数在流水线函数调用之间不会改变)。 |
hls_avalon_agent_register_argument组件宏
- 句法
- hls_avalon_agent_register_argument
- 描述
-
编译器将参数实现为一个寄存器,可以通过Avalon MM代理接口读取和写入该寄存器。该参数将被读入组件管道,类似于管道实现。该实现与启动和忙碌接口同步。
组件数据路径对此参数的值所做的更改不会反映在此寄存器上。
要了解更多信息,请查看教程: <quartus_installdir>/hls/examples/tutorials/interfaces/mm_agents。
- 实例
-
component void foo( hls_avalon_agent_register_argument int b)
hls_avalon_agent_memory_argument组件宏
- 句法
- hls_avalon_agent_memory_argument(N)
- 描述
-
编译器实现该参数,其中N指定存储器的大小(以字节为单位),在片上存储器块中,可通过专用agent接口从其读取或向其写入。生成的存储器具有与所有其他内部组件存储器相同的架构优化(例如banking或coalescing)。
如果编译器执行静态合并(coalescing)优化,则agent接口数据宽度为合并后的宽度。此属性仅适用于指针参数。
要了解更多信息,请查看教程: <quartus_installdir>/hls/examples/tutorials/interfaces/mm_agents。
- 实例
-
component void foo( hls_avalon_agent_memory_argument(128*sizeof(int)) int *a)
hls_conduit_argument组件宏
- 句法
- hls_conduit_argument
- 描述
-
标量参数的默认接口。
编译器将该参数实现为与组件调用(启动和忙碌)同步的输入管道。
- 实例
-
component void foo(hls_conduit_argument int b)
hls_readwrite_mode组件宏
- 句法
- hls_readwrite_mode("type")
- 描述
-
此宏仅适用于agent存储器接口。
向编译器指示外部存储器主机如何访问agent存储器接口。此信息有助于编译器构建更高效的存储器系统,并可能为您的组件节省FPGA空间。
type参数可以采用下列任意一个值:- readonly
表示外部 Avalon® 存储器映射(MM)主机接口仅从agent存储器读取。
- writeonly
表示外部 Avalon® Mm主机接口仅 写入agent存储器。
- readonly
- 实例
-
component void foo(hls_avalon_agent_memory_argument(128*sizeof(int)) hls_readwrite_mode(“writeonly”) int *A)
hls_stable_argument组件宏
- 句法
- hls_stable_argument
- 描述
-
稳定参数是指在组件中存在实时数据时不会改变的参数(即,组件参数在流水线化函数调用之间不会改变)。
在组件执行期间更改稳定参数会导致未定义的行为;每次使用稳定参数时,都可能是旧值或新值,但无法保证一致性。同一调用中的相同变量可以出现多个值。
在适当的情况下使用稳定的参数可能会在设计中节省大量寄存器。稳定参数可以与管道, Avalon® MM主机接口和agent_registers一起使用。
要了解更多信息,请查看教程: <quartus_installdir>/hls/examples/tutorials/interfaces/stable_arguments。
- 实例
-
component int dut( hls_stable_argument int a, hls_stable_argument int b) { return a * b;}