Cadence SKILL是一种基于人工智能语言Lisp的高级交互式编程语言。它允许自定义和扩展设计环境。使用SKILL,可以逐步的验证它们在合并到更大的程序之前。
关于SKILL language更多的信息,请参考SKILL Language User Guide中的Getting Started(入门指南)。
Using SKILL Code Examples
在user manual中,SKILL APIs(Application Program Interface 应用程序接口)通过说明性代码示例进行了说明,我们可以从手册中复制这些示例并将它们直接粘贴到CIW(Command interpreter Window命令解释器窗口)中,或者在非图形化技能模式下使用这些代码。
Sample SKILL Code
下面的代码示例显示了包含三个参数(arguments)的SKILL API语法(syntax)。
axlGetRunStatus
axlGetRunStatus(
t_sessionName ;Required argument
[?optionName t_optionName] ;Optional keyword argument
[?historyName t_historyName] ;Optional keyword argument
=> l_statusValues ;Return value
解释:
t_sessionName :必需的参数,其中t表示参数的数据类型。
?optionName t_optionName :可选的关键字参数(用问号标识),它们在名称-值对中指定,可以在函数调用期间以任何顺序放置。
?historyName t_historyName :可选的关键字参数(用问号标识),它们在名称-值对中指定,可以在函数调用期间以任何顺序放置。
l_statusValues :返回值是SKILL API在计算表达式后返回的值。在本例中,它是状态值l_statusValues的列表。
Example
axlSession=axlGetWindowSession(hiGetCurrentWindow())
=>"session0"
axlGetRunStatus("session0" ?historyName "iNTERACTIVE.10" ?optionName "tests")
=> (1 2)
"session0":value of the session name argument
?historyName:Question mark and argument name befire the value of the keyword argument
?optionName:Question mark and argument name before the value of the keyword argument
(1 2):return value
Typographic and Suntax Conventions(排版和语法约定)
text :指示手册、菜单命令、按钮和字段的名称。
text :指示必须完全按照显示方式键入的文本。通常用来表示命令、函数、例程或参数名必须按字面意义输入。
z_argument :指示必须用适当的参数值替换的文本。前缀(在本例中为z_)表示参数可以接受的数据类型,并且不能输入。
| :将选项分隔开。
{ } :包含一个选项列表,用竖线分隔,您必须从中选择一个。
[ ] :包含一个可选参数或由竖线分隔的选项列表,您可以从中选择一个。
[ ?argName t_arg] :表示一个关键参数。问号和参数名必须在语法中出现时键入,并且必须后跟该参数所需的值。
... :表示可以重复前面的参数。
与方括号一起使用,指示可以指定零个或多个参数。不带括号使用,指示必须指定至少一个参数
,... :指示多个参数必须用逗号分隔。
=> :指示Cadence SKILL 语言函数返回的值。
/ :分隔Cadence SKILL函数可以返回的值。
Identifiers Used to Denote Data Types(用于表示数据类型的标识符)
数据类型标识符用于指示API参数所需值的类型。这些数据类型由一个字母表示,该字母加前缀到参数标签,并由下划线与参数分隔;例如,t是t_viewName中的数据类型。数据类型和下划线仅用作标识符;在函数中指定参数时,不能键入它们。
Prefix(前缀) Internal Name Data Type(数据类型)
a array array
A amsobject AMS object
b ddUserType DDPI object
B ddCatUserTyoe DDPI category object
and so on.
未完待续······