首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从另一个tcl脚本中运行tcl脚本,而不是在主脚本中源化它?

在Tcl中,可以使用source命令从另一个Tcl脚本中运行脚本,而不是在主脚本中源化它。

source命令用于在当前脚本中执行指定的脚本文件。它的语法如下:

代码语言:txt
复制
source fileName

其中,fileName是要运行的脚本文件的路径和名称。

使用source命令可以将另一个Tcl脚本文件作为子程序嵌入到主脚本中执行。这样可以实现代码的模块化和重用。

下面是一个示例,展示如何使用source命令从另一个Tcl脚本中运行脚本:

代码语言:tcl
复制
# 主脚本文件 main.tcl

# 执行另一个脚本文件 sub.tcl
source sub.tcl

# 继续主脚本的执行
puts "主脚本继续执行..."
代码语言:tcl
复制
# 子脚本文件 sub.tcl

puts "这是子脚本"

# 子脚本的其他代码...

在上面的示例中,主脚本文件main.tcl使用source命令执行了子脚本文件sub.tcl。当主脚本执行到source命令时,会暂停主脚本的执行,转而执行子脚本。子脚本执行完毕后,主脚本会继续执行。

需要注意的是,source命令会将子脚本中的代码当作主脚本的一部分来执行,因此子脚本中的变量和过程在主脚本中是可见的。

关于Tcl的更多信息和使用方法,您可以参考腾讯云提供的Tcl语言开发指南:Tcl语言开发指南

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《数字集成电路静态时序分析基础》笔记③

TCLEDA工具的拓展与应用 通过对Design Object的分析,了解和学习DC获取电路并进行解析的方法 ?...修改参数即可应用到不同设计 自动电路综合平台只需要用户将待综合的设计与库文件放入一个文件加,修改与带综合设计对象有关的环境变量参数,命令窗唤醒DC的指令,即自动地完成综合过程,并得到综合后的网表文件和所需报告...reports文件夹 top.tcl脚本运行机制: set_library.tcl:生成设定库文件的search path的约束 read_design.tcl:生成读入设计文件的约束 create_clock.tcl...读取其中用户对时钟指定的参数,如时钟周期 等; 调用find_clk.tcl脚本,该脚本会将搜索顶层设计的所有的clk端口,并将所有搜索结果输出到一个名为clk_list的文档; 打开clk_list...最终,所有的约束都被写入了script.tcl。 script.tcl脚本完全由自动电路综合平台生成,并非人工编写; 自动电路综合平台运行后,由顶层脚本调用各子模块脚本生成该脚本

1.3K20

优秀的 VerilogFPGA开源项目介绍(二十二)- SystemVerilog常用可综合IP模块库

脚本 注1:cookbook:类似技巧大全的意思 这里还有一个TCL脚本文件,再简单介绍一下: 脚本 描述 scripts/allow_undefined_ports.tcl 允许为 Vivado...Altera/Intel FPGA 配置文件转换器 scripts/convert_sof_to_rbf.bat 另一个 Altera/Intel FPGA 配置文件转换器 scripts/iverilog_compile.tcl...使用 iverilog 工具编译 Verilog 源代码并在 gtkwave 工具运行模拟的完整脚本 scripts/modelsim_compile.tcl Modelsim 无项目模式编译脚本...的初始脚本 scripts/set_project_directory.tcl 更改当前目录以匹配 Vivado IDE 的项目目录 scripts/write_avalon_mm_from_file.tcl...“axi_stream_video_image_out_vip”IP可以监控一个AXI-Stream接口,获取接口上传输的帧并保存到位图文件

2.4K40

Verilog常用可综合IP模块库

今天肯定不是分享我司的IP库,而是一个开源库,每个人都可以使用、维护或者修改,当然作为学习(多人维护)也是不可多得的资料。...脚本 注1:cookbook:类似技巧大全的意思 这里还有一个TCL脚本文件,再简单介绍一下: 脚本 描述 scripts/allow_undefined_ports.tcl 允许为 Vivado...Altera/Intel FPGA 配置文件转换器 scripts/convert_sof_to_rbf.bat 另一个 Altera/Intel FPGA 配置文件转换器 scripts/iverilog_compile.tcl...使用 iverilog 工具编译 Verilog 源代码并在 gtkwave 工具运行模拟的完整脚本 scripts/modelsim_compile.tcl Modelsim 无项目模式编译脚本...的初始脚本 scripts/set_project_directory.tcl 更改当前目录以匹配 Vivado IDE 的项目目录 scripts/write_avalon_mm_from_file.tcl

1.6K40

实验室自研工具Vivado Batch Mode Tool介绍!

或者你也可以参照着平常使用Vivado工程时出现的vivado.jou这个文件,里面记录了你这一次从打开到关上Vivado整个过程按顺序每一步使用的tcl命令,我个人更偏向于用后者作为主要材料学习,...(不好意思串场了)这是一个一个简陋但是又能实现基本功能的脚本,暂且叫Vivado Batch Mode Tool吧,我尽可能让Terminal能显示出一个类似GUI的操作界面。...tcl_dir内有7个.tcl文件,如下图。 ? 这些就是这个脚本的全貌。...6)每一次执行完之后只需要按回车就可以返回界面,不要反复开关脚本。...只需要按回车就可以返回界面。 3)直接执行all,Synthesis跑到Write Bitstream,输入all并回车,如下图。 ?

2.3K20

shell expect权威指南和实战

expect需要Tcl编程语言的支持,要在系统上运行expect必须首先安装Tcl。 二、expect的安装 expect是Tcl基础上创建起来的,所以安装expect前我们应该先安装Tcl。...工作原理 最简单的层次来说,Expect的工作方式象一个通用的Chat脚本工具。...(3)一个正则表达时中,可以()包含若干个部分并通过expect_out数组访问它们。各个部分在表达式从左到右进行编码,1开始(0包含有整个匹配输出)。...#(2)while循环中的if判断消息是如何得到的。非交互模式下,下一行内容消息文件读出,当文件内容结束时while循环也就结束了。(break命令实现终止循环) 。...如果没有这一句登录完成后会退出,不是留在远程终端上。

1.7K21

tcl学习】vivado write_project_tcl

脚本文件 [-all_properties]写入项目的所有属性(默认和非默认)对象 [-no_copy_sources]即使源文件原始文件是本地的,也不要导入它们 项目默认值:1 [-no_ip_version...默认值:1 [-absolute_path]将所有文件路径设为绝对路径,与原始项目目录相对应 [-dump_project_info]写入对象值 [-use_bd_files]直接使用bd不是将procs...写到创造他们 [-internal]在生成的tcl脚本打印基本头信息 [-quiet]安静地执行命令,不返回来自命令。...[-verbose]命令执行期间挂起消息限制 要生成的tcl脚本文件的名称 举例: 下面的示例为被命名recreate.tcl对于当前项目: write_project_tcl recreate.tcl...以下命令导出当前项目的Tcl脚本并写入所有属性,包括默认值或非默认值: write_project_tcl -all_properties recreate.tcl

2.2K20

​FPGA便捷开发-TCL商店(开源)

Xilinx的设计套件Vivado相比上一代产品ISE,在运行速度、算法优化和功能整合等很多方面都有了显著地改进。其中约束语言XDC及脚本语言TCL的引入更是让其开发更加完美。...,一个Tcl脚本即可自动建立工程,对工程进行分析。...以上只是简单介绍了几个TclVivado的应用,还有很多很多方面Vivado的开发都不得不借助Tcl脚本,像XDC约束文本,等等。...一些“高级”应用,像包括ECO、PR、HD Flow等等都是Tcl脚本方式开始支持。 所以目前的FPGA开发模式Tcl是一个绕不开的语言,同时其特点也让FPGA开发更完美。...上面说的有点绕口,其实就在安装完成就有一个命令,如下(以designutils为例): 圆圈的命令就可以直接在Tcl运行 上面就是方式一的调用方式。

1.2K40

Linux expect详解

先抛出一个问题 现在有两台Linux主机A和B,如何A主机ssh到B主机,然后B主机上执行命令,如何使这个过程实现全程自动?...实际工作,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。...如果没有这一句登录完成后会退出,不是留在远程终端上。...传参 很多时候,我们需要传递参数到脚本,现在通过下面这段代码来看看如何在expect中使用参数: #!...总结 能够在工作熟练的使用Shell脚本就可以很大程度的提高工作效率,如果再搭配上expect,那么很多工作都可以自动进行,对工作的展开如虎添翼。

3.3K50

【100 种语言速成】第 6 节:TclTk

Tcl/Tk 是一种大家很少再看到的语言,但它在当时比较流行。它对嵌入非常友好——最初是一种用于编写现有应用程序的语言,不是用于创建独立程序。...它还带有内置的图形工具包(“Tk”部分),非常罕见的时候。 新操作系统上安装 Tcl/Tk 是非常痛苦的。OSX 捆绑了一个过时的版本,当你运行一个 hello world 时会打印一个警告。...指向完整路径的行是由于 OSX brew 问题,如果你不同的系统上运行,你将需要不同的系统。#也用于评论。 变量 #!...{ }没有定义一个块,只是我们传递的一个字符串。if, else, proc,return不是关键字 - 它们只是命令。 所以这个糟糕的代码做同样的事情: #!...Tcl/Tk 实际上只是作为一种历史产物感兴趣,不是作为一种任何人都可能认真用于新软件的语言。 我什至很难说它对其他语言和 GUI 系统有多大影响。

2.5K40

PYNQ上手笔记 | ⑤采用Vivado HLS进行高层次综合设计

添加提前创建好的源文件进来,因为我们探索的是设计流不是编程: ? 添加提前创建好的测试文件进来: ? 对于具体的FPGA进行解决方案配置,如图所示: ? ?...3.2.Vivado HLS 命令行快速创建项目 3.1节采用GUI界面完成了创建工程的工作,这个工程命名和添加文件创建工程的工作可以由一个TCL脚本完成,可以大幅提高我们的效率~ 3.2.1....HLS命令行运行TCL脚本 刚刚打开的Vivado HLS命令行界面输入cd ,然后输入目录所在盘符,进入目录后使用命令vivado_hls -f run_hls_pynq.tcl...即可运行脚本,完整过程如图所示: ?...,将循环计算展开为流水线运算,最后生成可用ip核vivado中使用,当然,仅仅是一个工具,玩玩还行,如果深入要用verilog写,大有学问~

1.3K11

synplify | 基础操作

的格式保存 设计文件、约束文件、综合选项的设置情况等; Tcl 脚本:Synplify 的script 文件以 .tcl 保存; 约束文件:约束文件采用Tcl 以 .fdc 保存 用来提供设计者定义的时间约束...,一般选中以节省资源; 选中 Use FSM Explorer Data 选项即可以用synplify内置的状态机浏览器观察状态机的各种属性; 选中 Pipelining 即启动流水,高速时钟设计...、Tcl scripts文件 保存工程文件.prj 命令行运行 synplify_pro -batch top.prj 或者打开GUI synplify_pro top.prj Tcl脚本运行..."top.log" #save run and close project project -save top.prj project -run project -close top.prj 运行脚本...设计使用的单元的总数,组合逻辑,时序逻辑分别占用的单元的总数; 时钟驱动和I/O单元的数量 设计每一个使用单元类型的详细报告 Net Buffering报告 Net Buffering报告 被插入缓冲或数据被复制的

1.7K30

【源码】手把手教你用Python实现Vivado和ModelSim仿真自动

结合图片和文章我们可以看出,Vivado软件调用第三方仿真器的方式,是根据之前工程文件设置的仿真器路径和联调库路径等参数,工程仿真目录下生成一系列仿真用的Tcl脚本和系统的批处理脚本(Linux下就是...另一个xxxxxxxx.udo脚本无实际内容: ###################################################################### # #...1.3 Vivado仿真功能选项 进一步分析Vivado仿真操作,思考如何使用python脚本实现我们想要的自动之前,我们可以先问这样一个问题: 难道Vivado软件真的没有提供仿真自动添加自定义波形等等方便仿真操作的功能吗...' # 指定Tcl脚本路径 SimTclFilePath = 'sim.tcl' # 命令-使用命令行调用Vivado软件前需要运行的批处理文件 SourceSettingsFileCmd = 'call...,将其放置脚本所在的目录下,然后使用Python3运行脚本运行结果截图如下: ?

2.8K50

Vivado&ISE&Quartus II调用Modelsim级联仿真

,再到使用do脚本自动仿真,乐此不疲。...Vivado会在仿真时候如图工程路径里生成这么几个do文件,关于do文件我前面介绍过,即自动仿真脚本,我们只需要修改这些do文件,Modelsim的Transcript窗口输入do xxx.do...按如图所示设置,从上到下,Shorcut可以设置快捷键,这里需要添加一个Tcl脚本(如下),添加modelsim图标路经,Apply。 ? 脚本个人要修改的是刚才编译的Vivado库文件的路径。...虽然ISE14.7Win10上有多个兼容性问题,不过博都一一找到了解决办法,一直用着感觉还可以。下来整整和Modelsim联合仿真吧。 ?...同样的QuartusII工程目录下也会生成一个do文件,用户可直接修改进行仿真了。 关于do文件的使用和模板,可以看我之前发的一片博文。Modelsim中使用TCL脚本编写do文件实现自动仿真

96820

expect工具的安装和使用方法

Expect是一个用来处理交互的工具,通常用于需要手动输入数据的场景,可在脚本中使用expect来实现自动。 # 一、安装 首先查看系统是否有安装expect。...命令需要使用–with-tclinclude选项传入tcl安装包的generic文件夹路径。...安装完成之后运行expect命令,查看是否安装成功。 基本操作 Expect脚本中常用的命令包括spawn, expect, send, interact等。...通常用于使用脚本进行自动登录之后再手动执行某些命令。如果脚本没有这一条语句,脚本执行完将自动退出。...[lindex $argv n] 可以脚本中使用该命令获取脚本执行时传入的第n个参数。这里argv为传入的参数,另外argc表示传入参数的个数,$argv0表示脚本名字。

1.8K20

Vivado下利用Tcl实现IP的高效管理

在这个工程中生成所需要的IP,之后把IP添加到FPGA工程。Xilinx推荐使用第二种方法,尤其是设计调用的IP较多时或者采用团队设计时。Tcl作为脚本语言,FPGA设计中被越来越广泛地使用。...本文介绍了如何利用Tcl脚本Manage IP方式下实现对IP的高效管理。...脚本,Vivado则支持Tcl脚本; Vivado下IP生成文件: (1)用于综合的RTL文件和约束文件; (2)实例模板文件; (3)行为级仿真文件; (4)综合后的网表文件DCP; (5)用于第三方综合工具的...第三种情况:A项目中的一些IPB项目中也被使用,且这些IP参数配置完全相同 在这种情况下,可将A项目中的IP导入到B项目的IP工程,这可通过import_ip命令完成,如Tcl脚本 6所示。...与ISE Core Generator相比,Vivado Manage IP对IP的管理更加便捷,加之Vivado对Tcl脚本的支持,利用Tcl脚本可实现对IP更高效的管理,进一步加强FPGA设计自动的程度

2.9K41

Viavdo&ISE&Quartus II调用Modelsim级联仿真

,再到使用do脚本自动仿真,乐此不疲。...Vivado会在仿真时候如图工程路径里生成这么几个do文件,关于do文件我前面介绍过,即自动仿真脚本,我们只需要修改这些do文件,Modelsim的Transcript窗口输入do xxx.do...按如图所示设置,从上到下,Shorcut可以设置快捷键,这里需要添加一个Tcl脚本(如下),添加modelsim图标路经,Apply。 ? 脚本个人要修改的是刚才编译的Vivado库文件的路径。...虽然ISE14.7Win10上有多个兼容性问题,不过博都一一找到了解决办法,一直用着感觉还可以。下来整整和Modelsim联合仿真吧。 ?...Modelsim中使用TCL脚本编写do文件实现自动仿真 转载请注明出处:NingHeChuan(宁河川) 个人微信订阅号:开源FPGA

1.2K41

MicroBlaze串口设计(附工程)

本篇通过原理图设计,学习MicroBlaze基本结构,通过Tcl脚本创建简单的MicroBlaze工程,实现MicroBlaze调用UART模块,完成串口打印功能,掌握模块设计,MicroBlaze...获取本篇相关工程代码,可在公众号内回复“MicroBlaze串口设计工程”。...二、基于Tcl脚本创建工程 1. 打开Vivado 2017.2 2. 底部Tcl命令框使用‘cd’命令,进入MB_Uart.tcl文件所在路径。...Tcl命令框,输入命令:source ./ MB_Uart.tcl。输入完毕按回车,运行Tcl,等待Tcl进行创建、综合、实现,最后生成比特流文件。 4....12) SDK界面左侧Project Explorer鼠标右击helloworld,选Run As>Launch on Hardware(GDB),运行SDK软件工程; ?

1.1K10

几个常见问题

同样的Tcl脚本,我们可以采用Vivado Tcl模式运行,也可以采用Vivado Batch模式运行,如下所示: vivado -mode tcl -source user.tcl vivado -mode...batch -source user.tcl Tcl角度而言,两者并没有本质的差别,只有一些细微差别。...细微差别如下: -mode tcl会打开Vivado tcl shell,运行结束后仍然Vivado tcl shell下; -mode batch也会打开Vivado tcl shell,但运行结束后会返回...实际情形是模块A并非顶层,如果针对模块A的实例逐一添加该约束,那么这个过程将会较为繁琐且容易出错。有没有其他办法呢?...thread线程数,则需要通过Tcl脚本设定, set_param general.maxThreads 4 Copyright @ FPGA技术驿站 转载事宜请私信 | 获得授权后方可转载

4010

如何编写无须人工干预的shell脚本

使用基本的一些shell命令时,机器需要与人进行互动来确定命令的执行。比如 cp test.txt boo/test.txt,会询问是否覆盖?...如何编写可以自动与shell交互的命令行,不再需要人工介入呢?expect于此横空出世。...使用它系统管理员 的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。”...下面我们安装下expect,并做简单的测试,确保正确使用expect脚本。Expect需要Tcl编程语言的支持,要在系统上运行Expect必须首先安装Tcl。...编写一个测试脚本,测试expect按正常运行。touch test.exp,文件以exp结尾或tcl结尾,都可以执行。

53620
领券