前言
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. Oracle DB 12c first glance

    单机上装了个12c,只看了看EM的界面……

  2. C# 发送电子邮件源码片段

    下面代码内容是关于C# 发送电子邮件片段的代码,应该对各位有所用途. using System;using System.Web;using System.Web.Mail;public class ...

  3. nodejs+express+mongodb写api接口的简单尝试

    1:启动mongodb服务 我的mongoDB的安装目录:E:\mongoDB\bin,版本:3.4.9 打开cmd  -> e:(进入e盘) -> cd mongoDB/bin(进入mo ...

  4. angular反向代理配置

    Angular-cli 是基于webpack 的一套针对提升angular开发体验的命令行工具. 开发vue的时候,基于webpack的时候当时配置一个反向代理以完全实现前后端分离的体验,既然webp ...

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

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

  6. SQL Server 数据库部分常用语句小结(一)

    1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类 ...

  7. Linux 中磁盘容量配额

    linux的设计之处就是为了多用户同时执行不同的任务,但是硬件资源是有限的,不能让一个用户无限制的上传文件,如果不加以限制,那么磁盘最终将会被充满,对此我们应该使用uquota来加以限制. 1.quo ...

  8. [20190416]11g下那些latch是Exclusive的.txt

    [20190416]11g下那些latch是Exclusive的.txt --//昨天测试了11g下那些latch是共享的,链接:--//是否反过来剩下的都是Exclusive的.继续测试: 1.环境 ...

  9. SQLServer之创建表值函数

    表值函数创建注意事项 用户定义表值函数返回 table 数据类型. 对于内联表值函数,没有函数主体,表是单个 SELECT 语句的结果集. 表值函数主要用于数据计算出来返回结果集. 使用SSMS数据库 ...

  10. Keepalived脑裂

    问题描述:开启防火墙后,Keepalived出现脑裂. 背景架构:两台centos7通过Keepalived实现高可用 问题具体表现形式:两台主机通过ip addr (ip  a)查看,发现两台主机都 ...