在 Windows 操作系统中,环境变量可从项目导航 GUI 中进行设置或复原。
Vivado HLS 入门(二)
作者:OpenS_Lee
1 概述
Vivado HLS 是 Xilinx 提供的一个工具,是 Vivado Design Suite 的一部分,能把基于 C 的设计 (C、C++ 或 SystemC)转换成在 Xilinx 全可编程芯片上实现用的 RTL 设计文件 (VHDL/Verilog 或 SystemC)。
1.1 vivado hls 的设计流程
![图1 vivado hls的工作流程](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38862-tu1vivadohlsdegongzuoliucheng.png)
图1 vivado hls的工作流程
Vivado HLS 流程有三种不同的 RTL 格式可以提供。如下:
1. IP-XACT — IP-XACT 是由 SPIRIT 财团提出的一种公共的设计 IP 的文档规范。这是一种被广泛使用的描述 IP 的 XML 模版,它与具体的工具无关而且机器可读 。
2. IP Core — 选择这个选项的时候,你的 IP 会被输出成能被输入到 XPS 去的格式。
3. SysGen — 这个选项让你能把结果 RTL 文件输出成一个可以用在 System Generator 的设计中的包。
1.2 TCL脚本简介
TCL(最早称为“工具命令语言”"Tool Command Language", 但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种脚本语言。 由John Ousterhout创建。 TCL很好学,功能很强大。TCL经常被用于 快速原型开发,脚本编程,GUI和测试等方面。TCL念作“踢叩” "tickle".
2 labs2 使用tcl脚本进行c,c++到RTL级的仿真综合
利用上一节labs1的工程文件fir.c fir.h fir_test.c使用tcl脚本运行来完成整个工程的仿真,综合,以及实现生成ip等动作。更加方便和快捷的完成我们的设计。
Run_hls.tcl脚本源码如下:
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38863-tu2.png)
Labs2工程目录如下图。包括fir.c、fir.h、fir_test.c、out.gold.dat以及run_hls.tcl等文件。
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38864-tu3.png)
第一步 打开 vivado hls command prompt 如下图
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38865-tu4.png)
第二步 cd 到labs2目录下图
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38866-tu5.png)
第三步 输入vivado_hls -f run_hls.tcl 回车
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38867-tu6.png)
整个脚本运行的过程如下视频:
运行完成后labs2目录如下图
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38868-tu7.png)
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38869-tu8.png)
![](http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13294-38870-tu9.png)
和labs1一样生成了我们所需要的csim,sim,syn,impl和fir滤波器的verilog文件。完成了c转化成verilog的过程。下节将演示如何添加fir滤波器ip和vivado生成modelsim仿真库以及联合modelsim仿真fir滤波器。
文章转载自: FPGA开源工作室
最新文章
![]() 基于Vivado HLS的一维离散卷积的高层次综合 |
![]() 基于Vivado HLS的Canny算法实时加速设计 |
![]() Vivado HLS - 如何实现浮点累加的PIPELINE II=1? |
![]() 学会System Generator(13)——Vivado HLS调用C/C++代码 |
![]() 基于Vivado HLS的帧差图像实现 |
![]() 如何从HLS之外的命令行运行C/RTL协同仿真? |