如何以批处理模式运行 SKILL
Allegro 提供了两种不同的自动化方式,一种是使用 Allegro 脚本,另一种是使用 SKILL 语言,后者是图灵完备的,因此具有更大的灵活性。这两种语言都提供了一种将记录或创建的代码存储在文件中以便日后导入和运行的方法。
Allegro 脚本存储在.scr 文件中,并在 Allegro 终端中使用 “replay < 文件路径>.scr” 来执行。
SKILL 脚本存储在.il 文件中,并在 Allegro 终端中使用 “skill load (“< 文件路径 >.il”)” 来执行。
SKILL 脚本允许你定义函数。如果算法定义在一个或多个函数内部,并且你想使用这些函数,就需要在 Allegro 终端中调用该函数。
语法为:skill <函数名>(< 函数参数 >)
Allegro 仅允许通过在你偏好的 Shell 终端(批处理、bash、csh 等)中调用以下命令,使用 Allegro 脚本以批处理模式实现自动化:
allegro -s -nograph
-nograph 是一个选项,用于防止 Allegro 图形用户界面(GUI)显示。PCB文件也是可选的。
虽然你不能直接使用 Allegro 命令行界面(CLI)调用 SKILL 脚本,但你可以通过创建一个简单的 Allegro 脚本(如 tmp.scr)来间接调用,该脚本可以调用一个 SKILL 脚本文件,例如 script.il,如下所示:
skill load ("script.il") skill < 函数名 >(< 函数参数 >) exit
然后通过命令行运行它,例如:
allegro <BRD> <Product_feature> -s tmp.scr -nograph
假设这两个文件在同一文件夹中,并且该文件夹当前在 Shell 终端中已打开。你必须添加一个显式的 exit 命令,否则即使以无图形界面模式启动,该工具也不会退出。
这种流程可以通过多种方式改进:你可以通过在任何命令前添加 skill,将所有 SKILL 代码完全嵌入到.scr 文件中,也可以改为从 SKILL 脚本中调用 exit,等等。
注意:除了 OrCAD/Allegro 的所有功能外,它们的 X 平台(OrCAD X/Allegro X)还提供了更多功能和灵活性。