snifer

【原创】博主和你一起学习-----Vivado进阶之神之重器指示标签

0
阅读(4054)

在Vivado HLS中有一个重器指示标签,在进行开发时,非常棒,分享给大家。

指示标签包含了所有打开源码的内容,包括:

1、程序

2、接口(包含接口的各种参数以及I/O控制口)

3、阵列

4、循环

5、作用域(代码的作用区域)

指示标签只表示了当前活动的文件,并没有显示设计的所有文件,通过以下的代码展示指示标签的重要性。

int foo_sub_A (int mem_1[64],..) {
for_A: for (int n = 0; n < 3; ++n) {
...
}
...
}
int foo_sub_B (int mem_1[64], int i) {
for_B:for (int n = 0; n < 4; ++n) {
...
}
...
}
void foo_top (int mem_1[64], int mem_2[64]) {
...
for_top: for (int i = 0; i < 64; ++i) {
my_label: {
...
}
}
}

下图说明了指示标签如何起作用:


应用指令通过选择一个对象的指令选项卡并单击鼠标的右键打开指令窗口,如图所示:

当打开标记按钮以后,标记文件在directives.tcl文件下,保存在解决文件,这样做主要有2个有点:

1、每一个系统具有自己的标记文件

2、当创建一个TCL批文件时,可以拷贝其标记文件

下图显示了标记文件加入directives.tcl文件的案例,


上图展示了当标记按钮从已有的文件加入当前文件的一个案例,通过选择源文件在编辑器指令的目标部分,和合成源代码开放的信息面板,对程序的复用非常有益。

秋天,收获的季节到了。