vivadoltx文件_tcl脚本语言

(4) 2024-10-08 09:01:01

vivado的目录结构:

1、*.xpc : 项目管理文件,里面记录了该工程的文件索引

2、*.src : 项目源文件目录,ip目录下是ip核生成的文件

3、*.runs : 内部有许多名为(name)_synth_n和(name)_imp_n形式的文件夹,里面是综合和布局布线生成的一些临时文件,对于主模块,其(name)为空,里面生成的文件中包含报告文件和bit流。

 

VIVADO 提供两种代码封装方法:DCP文件和edf文件。

1、write_checkpoint -force /x/xxx.dcp,其中xxx为模块名称,这样就可以生成完整的dcp文件。

2、rite_verilog -mode synth_stub  /x/xxx_stub.edf生成黑盒接口文件。edf文件不像DCP文件,可以单独被调用,edf文件必须配合.v的黑盒接口才能被调用

 

xci文件是一个xml格式的文件,它能够搜集ip所有的配置信息,更重要的是包括Vivado指向的ip所生成的大量文件,比如上下文综合、约束和模拟文件等。根据xci文件Vivado可以确定IP是否已经“完全生成”或者缺少哪些文件。

 

当读取xci文件时,Vivado会读取生成的dcp(design checkpoint)文件,跳过嵌入的约束信息,采用的是原始IP的约束文件。

 

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象。

catch命令

用于阻止因错误而导致的中断执行,类似python中的异常,执行成功返回0,否则返回1

IP Output Products:

<ip_name>.xci:

包含IP定制信息。您可以从该文件生成输出产品。如果目录中存在IP的升级路径,则可以从此文件升级到最新版本

<ip_name>.xcix:

IP核封装文件,它列出了设计中IP之间的所有通用元素。

<ip_name>.xml:

IP物料清单(BOM)文件,用于跟踪IP的当前状态,包括生成的文件,计算的参数和接口信息

<ip_name>.veo | vho:

Verilog(VEO)或VHDL(VHO)实例化模板。您可以使用这些文件中的一个在您的设计中实例化IP。

<ip_name>.dcp:

合成设计检查点文件包含综合后网表和处理过的XDC约束。
建议:赛灵思建议您不要直接引用IP DCP文件;而是使用XCI文件,在需要时引入DCP。

<ip_name>.stub:

与第三方综合工具一起使用的模块(Verilog)和组件(VHDL)来推断IP的黑盒子。

<ip_name>.funcsim:

Vivado 2015.3版之前的综合后结构仿真网表文件。

<ip_name>.xdc:

时序/物理约束文件,这些文件并不是对于所有IP都存在,并且它们的位置因IP而异。

<ip_name>_in_context.xdc:

有关更多信息,请参阅确定时钟约束和解释时钟消息。

<ip_name>_clocks.xdc:

具有时钟依赖性的约束。这些文件对于所有IP都不存在,并且它们的位置因IP而异。

<ip_name>_board.xdc:

平台板流程中使用的约束条件。这些文件对于所有IP都不存在,并且它们的位置因IP而异。

<ip_name>_ooc.xdc:

默认的时钟定义,用于合成IP的上下文。

 

好了,查了这么多,也分别看了每个文档的代码,发现这些对我没啥help。

想利用tcl文件,直接生成带有想要的ip的vivado gui。

1、首先,打开vivado gui界面。按照你想要的东西一步步操作。操作完成之后,在Tcl Console选项这边,可以找到你所有的tcl命令。

2、把所有蓝色显示的命令加到你新建的tcl文件中。在文件中,修改参数。

3、在文件最底端加上 start_gui 命令。

4、运行 vivado -mode tcl -source  xx.tcl 命令,就可以直接打开你想要的gui了。

注:在json文件中有你想要的ram各种参数。所以在写tcl文件时,需要注意到用set_property来设置参数。

 

THE END

发表回复