导言
今天主要介绍通过配置Cygwin(在win环境执行makefile)和Vscode中实现Vivado从建立工程,综合,实现,生成bit,下载等一系列自动化运行。仅需输入make可以实现完成所有流程。
介绍
makefile就是,cygwin是为了能在win环境执行makefile,vscode是为了将cygwin控制台转到vscode进行调试(这里看个人习惯,可做可不做),vivado并没有特别的环境要求,完成这些自动化流程,需要懂一点makefile和tcl脚本,因为Vivado很好的支持了tcl脚本命令。
环境
Win11
Vivado2022.1
Vscode
Cygwin
以上版本均无要求
软件安装及配置
Cygwin安装
先在cygwin官网下载好安装包,安装过程仅需要在Select Packages注意勾选需要的包,gcc-core,make,diffutils,perl,binutils,这里不会的朋友可以网上搜Cygwin执行makefile安装教程,在Installing Cygwin目录选择setup-x86_64.exe即可(这里根据自己电脑体质选择)下面是官网地址:
http://www.cygwin.com/
测试一下,打开Cygwin,输入cygcheck –c查看所有包的版本确认自己是否安装成功:
Cygwin配置
安装完毕需要配置一下.bashrc,打开安装目录,选择home文件夹,用编辑器打开.bashrc,内容末端添加Vivado路径,如下:
# alias cd=cd_func
# vivado
export PATH=$PATH:/cygdrive/C/Xilinx/Vivado/2022.1/bin
结束后在Cygwin控制台执行source .bashrc
Vscode
Vscode只需要配置一下,为了能在Vscode终端执行Cygwin命令(这里不是必须,也可以不用vscode直接用cygwin),点击终端,添加终端,打开setting.json,或者在设置中搜索@feature:terminal然后打开settings.json添加如下代码保存后关闭即可:
{ "files.autoGuessEncoding": true, // cygwin 的安装目录 "terminal.integrated.shell.windows":"C:cygwin64binbash.exe",
// 使得 cygwin 切换到当前工作目录
“terminal.integrated.env.windows”: {
“CHERE_INVOKING”: “1”
},
// 使 cygwin 能够在 vscode 中正常使用 Shell 命令
“terminal.integrated.shellArgs.windows”: [
“-l”
],
}
Vivado
关于Vivado安装是最简单的,安装完导入lic即可,由于Vivado默认2个线程运行,但大家可以在TCL工作台输入一下命令:get_param general.maxThreads来获得默认线程为2,通过set_param general.maxThreads n,n就是你要设置的线程,根据自己的电脑体质设置(makefile中加也可),也可在Vivado_init.tcl文件设置,这样不需要每次打开工程都设置了。Vivado在win下运行不如Linux,有条件可以直接换Linux环境。
执行
既然环境配置好了,那么我们实际操作一下,以之前发的以太网为例,直接cd到你要运行的目录下,我以KC705为例,进入fpga目录下,执行make all表示运行所有的流程包括下载,执行make fpga执行到生成bit流,执行make vivado则运行Vivado GUI,建立好工程,但不综合,这里我们先执行make fpga,再执行make vivado打开Vivado GUI。流程中的相关信息打印保存在相应目录下的runme中。
/desktop/verilog-ethernet-master/example/KC705/fpga_gmii/fpga
部分打印信息
执行综合
****** Vivado v2022.1 (64-bit) ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. source fpga.tcl -notrace create_project: Time (s): cpu = 00:00:08 ; elapsed = 00:00:07 . Memory (MB): peak = 1309.457 ; gain = 10.367 Command: synth_design -top fpga -part xc7k325tffg900-2 Starting synth_design
执行生成bit
****** Vivado v2022.1 (64-bit) ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
source generate_bit.tcl
# open_project fpga.xpr
Scanning sources…
Finished scanning sources
open_project: Time (s): cpu = 00:00:09 ; elapsed = 00:00:08 . Memory (MB): peak = 1307.023 ; gain = 9.199
# open_run impl_1
总结
对于没有安装Linux的朋友,在win环境使用cygwin是一个比较不错的方案,如果懂一点makefile,然后很好的理解tcl脚本,对执行Vivado编译会是很大的效率提升,不需要再使用Vivado的GUI。
没有回复内容