前言
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. 智能化CRM客户关系管理系统介绍一

    智能化CRM客户关系管理系统介绍一 CRM客户关系管理的定义是:企业为提高核心竞争力,利用相应的信息技术以及互联网技术来协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新式 ...

  2. Thinkphp5整合微信扫码支付开发实例

    ThinkPHP框架是比较多人用的,曾经做过的一个Thinkphp5整合微信扫码支付开发实例,分享出来大家一起学习 打开首页生成订单,并显示支付二维码 public function index() ...

  3. QT获取本机IP和Mac地址

    #include <QNetworkInterface> #include <QList> void MainWindow::getIPPath() { QString str ...

  4. java新知识系列 二

      1:数据库事务隔离以及事务隔离的级别 数据库事务隔离: 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别:为了解决更新丢失,脏读,不可重读(包括虚读和幻读)等问题在标准SQL规 ...

  5. Linux 环境下 Git 安装与基本配置

    索引: 目录索引 参看代码 GitHub: git.txt 一.Linux (DeepinOS) 环境 1.安装 sudo apt-get update sudo apt-get install gi ...

  6. SQL server 远程连接不成功解决

    一直以来打算自己做一个博客网站,前段时间开始准备做了,正好碰上新睿云服务器免费一年的活动,赶紧拿下.装好了sqlserver ,用本地访问没有问题,但是关键是外网访问一直不行找了好多资料最终才搞定.下 ...

  7. 利用ZYNQ SOC快速打开算法验证通路(2)——数据传输最简方案:网络调试助手+W5500协议栈芯片

    在上一篇该系列博文中讲解了MATLAB待处理数据写入.bin二进制数据文件的过程,接下来需要将数据通过以太网发送到ZYNQ验证平台.之前了解过Xilinx公司面向DSP开发的System Genera ...

  8. 让 Windows7 - 64bit 支持 VC++ 6.0 的解决方法(无法启动此程序,因为计算机中丢失 MSVCRTD.dll。尝试重新安装该程序以解决此问题)

    源地址:https://www.cnblogs.com/poissonnotes/p/4372136.html 无法启动此程序,因为计算机中丢失 MSVCRTD.dll.尝试重新安装该程序以解决此问题 ...

  9. SQLServr添加数据列

    数据列定义 表中数据行的数据插入和数据类型都是基于数据列的,学会添加数据列在开发过程中是必不可少的. 使用SSMS数据库管理工具添加数据列 在数据表中添加一列或者多列步骤相同 1.连接数据库,选择数据 ...

  10. Python爬虫【解析库之pyquery】

    该库跟jQuery的使用方法基本一样  http://pyquery.readthedocs.io/ 官方文档 解析库的安装 pip3 install pyquery 初始化 1.字符串初始化 htm ...