用户定义的捆绑名称与默认捆绑名称
- 规则 1:用户指定的捆绑名称
-
重要: Vitis 内核流程仅支持单一此规则将具有相同
s_axilite
接口。在此流程中隐式或显式创建多个捆绑会导致综合期间出错。bundle=<string>
的所有接口端口都显式组合到同一个 AXI4-Lite 接口端口中并以s_axi_<string>
指定的值来命名 RTL 端口。void top(char *a, char *b, char *c, char *d) { #pragma HLS INTERFACE s_axilite port=a bundle=terry #pragma HLS INTERFACE s_axilite port=b bundle=terry #pragma HLS INTERFACE s_axilite port=c bundle=stephen #pragma HLS INTERFACE s_axilite port=d bundle=jim }
INFO: [RTGEN 206-100] Bundling port 'd' to AXI-Lite port jim. INFO: [RTGEN 206-100] Bundling port 'c' to AXI-Lite port stephen. INFO: [RTGEN 206-100] Bundling port 'a' and 'b' to AXI-Lite port terry. INFO: [RTGEN 206-100] Finished creating RTL model for 'example'
- 规则 2:默认捆绑名称
- 此规则将不含捆绑名称的所有接口端口都显式组合到同一个 AXI4-Lite 接口端口中,并使用工具的默认
bundle=<deafult>
,将 RTL 端口命名为s_axi_<default>
。void top(char *a, char *b, char *c, char *d) { #pragma HLS INTERFACE s_axilite port=a #pragma HLS INTERFACE s_axilite port=b #pragma HLS INTERFACE s_axilite port=c #pragma HLS INTERFACE s_axilite port=d }
Log fileINFO: [RTGEN 206-100] Bundling port 'a', 'b', 'c' to AXI-Lite port control. INFO: [RTGEN 206-100] Finished creating RTL model for 'example'.
- 规则 3:部分指定的捆绑名称
- 如果部分指定捆绑名称,那么该工具将创建多个
s_axi lite
接口端口。请参阅以下捆绑规则:- 对于指定捆绑名称“control”(默认名称)的所有接口端口,此规则会将这些端口组合到同一个 AXI4-Lite 接口端口中。
- 此规则还会将其余未指定的捆绑名称都显式指定为与任何用户名称都不冲突的默认名称。
void top(char *a, char *b, char *c, char *d) { #pragma HLS INTERFACE s_axilite port=a #pragma HLS INTERFACE s_axilite port=b #pragma HLS INTERFACE s_axilite port=c bundle=control #pragma HLS INTERFACE s_axilite port=d bundle=control }
INFO: [RTGEN 206-100] Bundling port 'c' and 'd' to AXI-Lite port control. INFO: [RTGEN 206-100] Bundling port 'a' and 'b' to AXI-Lite port control_r. INFO: [RTGEN 206-100] Finished creating RTL model for 'example'.