0

我是这个领域的超级新手,所以对于我可能说的任何愚蠢的话,我提前道歉!:D

我使用 Cadence 的 RTL 编译器,我试图自动化合成如此多位于不同目录中不同大小的设计的过程,并生成报告并将它们保存在每个文件夹中。我正在使用 tcl 脚本在 Linux 终端中运行 RTL 程序的命令。

首先,我必须在 RTL 环境之外进行一些初始化。所以我创建了一个名为setup.tcl的脚本文件,我从 Linux 终端调用它,然后调用 RTL 程序本身(rc):

source setup.tcl
rc

这将在同一终端内运行 RTL 编译器程序,因此现在可以输入编译器命令。

rc:/>

现在,我需要一个名为rtl_script.tcl的 RTL 命令脚本来运行 RTL 环境中的所有命令,它可以正常工作:

rc:/>source rtl_script.tcl

我只需要一个命令来运行整个例程,这样我就可以循环它和一切。

更准确地说,需要一个名为master.tcl的主脚本,它首先运行setup.tcl,打开 RTL 编译器,然后在 rc 环境中运行rtl_script.tcl 。全部在同一个终端完成。就像是:

source setup.tcl
rc
source rtl_script.tcl

问题是当我输入命令source master.tcl时,shell 在进入 RTL 环境后停止并且它不运行rtl_script.tcl。任何帮助,将不胜感激。谢谢。

4

1 回答 1

0

我发布了这个问题,我认为答案应该与不同的外壳有关。但正如@EtanReisner 告诉我的那样,我所要做的就是给rc命令一个脚本来运行,但正确的语法是这样的:

rc -file rtl_script.tcl

如果您希望您的主脚本在完成后运行后继续rc,您必须在脚本exit末尾有一个命令。rtl_script.tcl我不得不仔细查看 Cadence 文档。

于 2015-08-07T17:37:12.620 回答