前言
vivado中采用TCL脚本语言来作为其命令解释语言。这句话是很重要的,发散下,bat脚本加tcl就很有用了。
像我这种懒鬼,调试和前期验证阶段,可能需N个demo工程,老眼昏花的时候手动创建工程真是对内心的极大考验。
所以,这种繁琐的可重复的工作当然是使用脚本来完成,达到一劳永逸的效果。
流程
(1)添加这两个文件到任意你想创建工程的文件夹。

(2)解释下此两个文件的含义。

auto.bat的内容如下所示:本质上是去调用tcl文件。同时做了文件夹存在检测判定,避免手残在创建工程后还点击到了auto.bat。

start "C:\Windows\System32\cmd.exe"
@echo Power By Kingstacker.
@echo Produce the vivado project.
set cache_floder=project_1.cache
cd %~dp0
if exist %~dp0%cache_floder% (
echo The floder is exist.
pause
) else (
vivado -source pro_create.tcl
)
exit

tcl脚本如下所示:创建普通工程的tcl如下,注意芯片型号不同的话,需要修改device_mode后面对应的型号。

#设置器件型号
set device_model xc7z035ffg676-
#设置工程创建位置
set dev_dir [pwd]
#确保切换到了工程位置
cd $dev_dir
puts "The home_dir is $dev_dir now!"
#创建工程
create_project project_1 $dev_dir -part $device_model
#set_property board_part milianke:dev_zynq:part0:1.2 [current_project]
set_property simulator_language Verilog [current_project]

如果是ZYNQ带PS端的工程,脚本如下:如果ddr的型号、MIO bank电压不一样则需修改对应的代码段。

#设置器件型号
set device_model xc7z035ffg676-
#设置工程创建位置
set dev_dir [pwd]
#确保切换到了工程位置
cd $dev_dir
puts "The home_dir is $dev_dir now!"
#创建工程
create_project project_1 $dev_dir -part $device_model
set_property board_part milianke:dev_zynq:part0:1.2 [current_project]
set_property simulator_language Verilog [current_project]
#创建块设计
create_bd_design "design_1"
update_compile_order -fileset sources_1
startgroup
create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0
endgroup
startgroup
set_property -dict [list CONFIG.PCW_FPGA0_PERIPHERAL_FREQMHZ {} CONFIG.PCW_PRESET_BANK1_VOLTAGE {LVCMOS .8V} CONFIG.PCW_UIPARAM_DDR_PARTNO {MT41K256M16 RE-} CONFIG.PCW_UART1_PERIPHERAL_ENABLE {}] [get_bd_cells processing_system7_0]
endgroup
apply_bd_automation -rule xilinx.com:bd_rule:processing_system7 -config {make_external "FIXED_IO, DDR" Master "Disable" Slave "Disable" } [get_bd_cells processing_system7_0]
connect_bd_net [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins processing_system7_0/M_AXI_GP0_ACLK]
make_wrapper -files [get_files $dev_dir/project_1.srcs/sources_1/bd/design_1/design_1.bd] -top
#创建壳子
add_files -norecurse $dev_dir/project_1.srcs/sources_1/bd/design_1/hdl/design_1_wrapper.v
update_compile_order -fileset sources_1
update_compile_order -fileset sim_1

(3)双击auto.bat即可。等待脚本的力量吧。

以上。

 

Vivado如何使用命令行创建工程的更多相关文章

  1. Qt_Window@Qt Command Prompt从命令行创建工程

    #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplicatio ...

  2. 命令行创建cocos2d-x的工程

    1. 命令行创建cocos lua工程cocos new MyGame -p com.your_company.mygame -l lua2. 进入工程目录, 编译运行时库cocos compile ...

  3. 学习笔记-使用cmd命令行创建nodejs项目

    使用cmd命令行创建nodejs项目 1)在DOS下cd 进入到你想要创建项目的路径. 2)mkdir sing (创建一个sing文件夹) 3)cd sing  4) npm init (初始化工程 ...

  4. Cordova之如何用命令行创建一个项目(完整示例)

    原文:Cordova之如何用命令行创建一个项目(完整示例) 1. 创建cordova项目 (注意:当第一次创建或编译项目的时候,可能系统会自动下载一些东西,需要一些时间.) 在某个目录下创建cordo ...

  5. mysql命令行创建存储过程命令行定时执行sql语句

    mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LI ...

  6. PHP Yii1.1.13(一):命令行创建应用~shop

    第一节 初始目录结构 (1)初识目录结构 在创建应用之前,我们来看一下Yii 1.x版本的目录结构:将yii-1.1.13安装文件解压到网站根目录下,打开framework目录,其目录如下图所示 (2 ...

  7. 【Android测试】【随笔】在手机里用命令行创建中文文件夹

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...

  8. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

  9. 命令行创建AVD

    1.命令行创建AVD android create avd -n myAvd -t 8 -b armeabi-v7a -p d:\scard.img -s HVGA 2.删除AVD android d ...

随机推荐

  1. 为什么AI的翻译水平还远不能和人类相比?

    为什么AI的翻译水平还远不能和人类相比? https://mp.weixin.qq.com/s/0koIt-qu9IOVxNhbFcZr1Q 作者 | SHARON ZHOU 译者 | 王天宇 编辑 ...

  2. .NET的未来-广州.NET俱乐部学生分会

    偶然的一次机会,让我发现了在我们社区的微信群里潜藏着许多高校的学生,他们有的来自重点高校中山大学.华南理工,也有的来自普通高校的惠州学院.广州白云学院等. 因为相同的技术爱好使他们聚集在社区.相同的技 ...

  3. Linux 配置本地源 (Ubuntu / CentOS)

    目录 Linux local source list A. Ubuntu 1. 本地ISO 2. 制作本地源 B. CentOS 1. 本地ISO Linux local source list A. ...

  4. SQLServer之删除存储过程

    删除存储过程注意事项 在删除任何存储过程之前,请检查依赖对象,并且相应地修改这些对象. 如果没有更新这些对象,则删除存储过程可能会导致依赖对象和脚本失败. 若要显示现有过程的列表,请查询 sys.ob ...

  5. sql server 错误日志errorlog

    一 .概述 SQL Server 将某些系统事件和用户定义事件记录到 SQL Server 错误日志和 Microsoft Windows 应用程序日志中. 这两种日志都会自动给所有记录事件加上时间戳 ...

  6. U盘中的快捷方式解析

    很多人都有使用绿色软件的习惯,在这里我简单称其为Portable App 将这些软甲放到U盘中随身携带,便于我们使用更加符合自身习惯的功能软件. 相信习惯将软件放到U盘启动都会碰到一个问题,就是每次打 ...

  7. Linux Collection:网络配置

    PAS 缺少ifconfig 安装相应软件[不推荐],尽量使用 ip 命令 sudo apt install gnome-nettool 补充,显示IP地址: ip show address PAS ...

  8. 超哥笔记 -- 用户管理、权限设置、进程管理、中文配置、计划任务和yum源配置(5)

    一 网卡配置 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown    脚本命令,更简单的方式启动关闭网络 ip 符合指令,直接修改上述功能 网络配置文件: /etc/sysconf ...

  9. 【Python 14】分形树绘制2.0(重复五角星+Turtle库文档)

    1.案例描述 加入循环操作绘制重复不同大小的图形 2.案例分析 3.turtle库补充 # 画笔控制函数 turtle.penup() # 抬起画笔,之后移动画笔不绘制图形 turtle.pendow ...

  10. .net 调用java service 代理类方法

        通过Svcutil.exe 工具生成代理类调用 1.找到如下地址“C:\Windows\System32\cmd.exe”  命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 2 ...