仅对英特尔可见 — GUID: txl1548359149468
Ixiasoft
仅对英特尔可见 — GUID: txl1548359149468
Ixiasoft
13.1. Intel® HLS Compiler Pro版i++命令行参数
使用i++命令行参数来影响组件的编译和链接方式。
常规i++命令选项
选项 | 描述 |
---|---|
--debug-log | 生成编译器诊断日志。 |
-h, --help | 编译器命令选项列表及其简短描述 |
-o result | 将编译器输出置入 <result> 可执行文件和 <result>.prj目录。 |
-v | 显示描述编译进度的消息。 |
--version | 显示编译器版本信息。 |
影响编译的命令选项
选项 | 默认值 | 描述 |
---|---|---|
-c | 预处理、解析并生成目标文件 | |
--component component name | 编译RTL的函数名称清单,名称用逗号隔开。
要使用此选项,您的组件必须以使用extern "C"规范的C-linkage(C链接)配置。例如:
extern "C" int myComponent(int a, int b) 使用component函数属性优于使用--component命令选项来指示您想要编译到RTL的函数。 |
|
-D macro [= val ] | 以<val>作为值来定义<macro>。 | |
-g | 生成调试信息(默认选项)。 | |
-g0 | 不生成调试信息。 | |
--gcc-toolchain=<GCC_dir> | 指定需要用于编译的GCC安装路径。该路径应该是包含GCC lib,bin和include文件夹的目录的绝对路径(absolute path)。 |
|
--hyper-optimized-handshaking=[auto|off] | auto | 此选项仅适用于 Intel Agilex® 7和 Intel® Stratix® 10器件。 使用此选项可以修改设计中某些区域里使用的握手协议。 |
-I dir | 将目录 <dir> 添加到主包含路径的末尾。 | |
-march=[x86-64 | FPGA_family | FPGA_part_number] | x86-64 | 为模拟器流程(x86-64)或指定的FPGA系列又或者FPGA部件编号生成代码。 |
--quartus-compile | 运行通过Intel Quartus Prime生成的HDL以便生成准确的fMAX和面积估算。预计您的组件无法干净地收敛时序。 | |
--quartus-seed <seed> | 当您的组件通过Intel Quartus Prime编译到硬件时,请指定要使用的Fitter seed。 | |
--simulator simulator_name | modelsim | 指定您用来执行验证的模拟器。
此命令选项可以为<simulator_name>采用以下值:
如果不指定此选项, 则假定为--simulator modelsim。 |
-ffp-contract=[ fast | on ] |
对于双精度数据类型,控制编译器是否可以将浮点乘法和加法或减法运算合并为单个融合乘加(fused multiply-add,FMA),并控制编译器是否跳过中间舍入和转换,但由#pragma clang fp contract(off)守护程序隔离的代码块除外。 此选项对涉及单精度数据类型的操作无效。 -ffp-contract选项可以采用下列值之一:
要了解更多信息,请查看以下教程:
|
|
-ffp-reassociate |
放宽浮点算术运算的顺序,被#pragma clang fp reassociate(off)隔离的代码块除外 要了解更多信息,请查看以下教程: <quartus_installdir>/hls/examples/tutorials/best_practices/floating_point_ops |
|
--daz | 仅限于double数据类型,禁用双精度浮点计算中的亚正常(subnormal)支持。 | |
--rounding= [ieee | faithful] | 仅限于double数据类型,控制双精度加法器、乘法器和除法器的舍入方案。 如果您未指定此选项,则加法器和乘法器将根据IEEE-754四舍五入到最接近数,即,向偶数舍入(even (RNE) rounding (0.5 ULP)),而除法器则使用忠实舍入(faithful rounding (1 ULP))。 --rounding选项可以采用下列值:
|
|
--clock clock target | 240 MHz | 针对指定的时钟频率或周期优化RTL。 clock target值必须包含一个单元。
例如:
i++ -march="Arria 10" test.cpp --clock 100MHz i++ -march="Arria 10" test.cpp --clock 10ns |
--dsp_mode= [prefer-dsp | prefer-softlogic | default] | 默认值 | 对于支持的数据类型和数学运算,控制全局范围内数学函数的硬件实现。
关于硬件中数学函数实现的详细信息,请参阅数学函数硬件实现总结。 要了解更多信息,请参考以下教程: <quartus_installdir>/hls/examples/tutorials/best_practices/control_of_dsp_usage |
影响链接的命令选项
选项 | 默认值 | 描述 |
---|---|---|
-ghdl[=<depth>] | 在模拟中实现HDL信号的完整调试可视性和记录。 请使用可选的 <depth>属性指定记录的层次结构层数。如果没有指定 <depth>属性的值,所有信号都被记录。 请使用-ghdl=1仅记录顶层信号。 |
|
-L dir -L dir |
(仅限Linux)将目录<dir>添加到要以-l选项搜索的特定库文件的目录列表。 | |
-l library | (仅限 Linux)链接时使用库名称<library>。 | |
--x86-only | 仅创建测试台可执行文件( <result>.out/ <result>.exe)。 | |
--fpga-only | 仅创建 <result>.prj目录及其内容。 |