FPGA的Project工作模式(基于tcl脚本)

本文介绍了Vivado工具的Project模式和Non-Project模式,重点讲解了如何使用Tcl脚本来管理工程。通过一个wavegen工程的例子,展示了从创建工程、配置资源到综合和实现的完整流程。在Tcl脚本中,详细列出了添加文件、设置参数和执行综合、实现等步骤,最后通过GUI查看结果,发现未达到时序收敛。
摘要由CSDN通过智能技术生成

        vivado的两种工作模式,project模式以及Non-project模式。

        其中project模式可以以GUI界面也可以用tcl语言来操作,下面是以wavegen的实际操作例子。

(1)新建一个wavegen工程。

         打开工程后,需要修改一下ip为xcix格式。(xcix是将xci生成文件压缩的二进制文件格式),点击ip右边对应的Enable Core Container就可以更改xci为xcix格式。

 (2)将对应需要资源整理到一个新文件夹Source下面。

        这些文件都在wavegen\wavegen.srcs中,ip对应xcix文件(.Xil不用管,自动生成的),tb对应testbench文件,hdl对应v文件以及vh文件,xdc对应约束文件。

 (3)打开vivado 2020.1 Tcl  shell ,先cd到Source所在的文件夹下,再运行project.tcl脚本。

#project.tcl
#project flow 
#芯片型号
set devive xc7k70t
#封装
set package fbg676
#速度
set speed -1
#器件
set part $devive$package$speed

#设计工程名字为wavegen,地址,source位置
set prjName wavegen
set prjDir ./$prjName
set srcDir ./Sources

#建立工程,关闭工程close_project
create_project $prjName $prjDir -part $part 
#线程数设置为8
set_param general.maxThreads 8

#增加对应的文件,默认为sources_1文件集
add_files [glob $srcDir/hdl/*.v]
add_files [glob $srcDir/hdl/*.vh]
add_files [glob $srcDir/ip/*.xcix]
#用于更新指定文件集下文件的编译顺序,我的理解就是找到顶层文件
update_compile_order -fileset sources_1

add_files -fileset constrs_1 [glob $srcDir/xdc/*.xdc]

add_files -fileset sim_1 [glob $srcDir/tb/*.v]
#用于更新指定文件集下文件的编译顺序,我的理解就是找到顶层文件
update_compile_order -fileset sim_1

#设计总和以及优化的strategy
set_property strategy Flow_AreaOptimized_high [get_runs synth_1]
set_property strategy Performance_Explore [get_runs impl_1]

#综合
launch_runs synth_1
wait_on_run synth_1
#实现
launch_runs impl_1 -to_step write_bitstream 
wait_on_run impl_1
#打开图像界面看结果
start_gui

source  project.tcl

(4)完整跑完一遍还是需要等待一段时间的,跑完之后有结果如下,可以看到实际是不符合时序收敛的。

 

参考

[1]vivado/Tcl零基础入门与案例实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jun_luo_yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值