前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Vivado HLS中使用Tcl

在Vivado HLS中使用Tcl

作者头像
Lauren的FPGA
发布2019-10-30 19:20:28
2.5K0
发布2019-10-30 19:20:28
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

Vivado HLS不仅支持图形界面方式,也支持Tcl命令。为方便说明,我们这里举一个例子。假定设计中有四个文件fir.h, fir.c,fir_test.c和out.gold.dat。其中fir.h为头文件;fir.c为源文件,在该文件中定义了待综合的函数fir;fir_test.c为C模型的测试文件,用于对函数fir进行验证;out.gold.dat也是测试文件,只是存放的是参考数据(同样激励下的正确数据)。

根据HLS的设计流程,需要依次执行以下操作:

  • 创建HLS工程
  • 添加待综合函数对应的C文件
  • 添加仿真文件
  • 设置芯片型号
  • 设置时钟周期
  • 执行C仿真
  • 执行C综合
  • 执行C/RTL协同仿真
  • 导出设计

上述每个操作都有相应的Tcl命令与之对应。例如,添加文件需要用到命令add_files,C仿真需要用到csim_design,C综合对应命令csynth_design,C/RTL协同仿真对应cosim_design。因此,针对这个案例,整个设计流程的Tcl脚本如下图所示。

这里最好将头文件、源文件、测试文件放在同一目录下。如果不在同一目录下,需要通过如下方式指明头文件所在目录,可以是绝对路径也可以是相对路径。

如果是使用图形界面方式,则需要在ProjectSettings下指定头文件路径,如下图所示。

将上述所有Tcl命令存放在一个run_hls.tcl的文件里,并将该文件与前文提到的四个文件放在同一目录下。下面就开始执行该文件。

第一步:打开Vivado HLS 2019.1Command Prompt,切换到run_hls.tcl所在目录,执行如下命令:

vivado_hls -f run_hls.tcl

如下图所示。这样,VivadoHLS会按照run_hls.tcl中的命令执行相应操作

第二步:如果需要打开执行后的工程,查看结果,执行如下命令:

vivado_hls -p fir_prj

其中-p后面的值是run_hls.tcl中open_project命令创建的工程名。这样就又回到了图形界面模式。

另外,pragmas也可以用Tcl命令描述,但相对会繁琐一些。所以,可以在图形界面方式下设置各种pragmas,选择将其保存在Tcl文件中,通常在每个Solution下面的constraints里有一个名为directives.tcl的文件,这里即是工具保存pragmas的位置。

对于directives.tcl,可以结合source命令将其添加到整个设计流程中,这就体现了Tcl的好处:只用提交这些文件即可对工程进行复原。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档