SKILL是操作Cadence EDA工具的语言,简要说明其特点:
1.语言风格
语言的结构类似LISP的风格,表达式和分支结果的语法和C类似,没有变量声明应该是动态语言
2.一些特别的关键字和符号
; 表示行注释
' 表示引用,效果类似中文的引号理解为所见所得,不展开变量如
'(a b c)
;结果为abc构成的数组,不对把a/b/c当成变量展开
@ 两个含义:1.对引用evaluation,与’相反;2.@保留字,例子参看函数
~> 类似C里面的->对结构体/容器成员的引用
3.函数
函数的声明格式
procedure(函数名(参数1 参数2...)
(
函数体
)
)
;第二种表达方法
(defun 函数名(参数1 参数2...)
(
函数体
)
)
;
;根据名称传递参数值
procedure(函数名(
@key (参数1 值1) (参数2 值2)...)
(
函数体
)
)
;不定参数个数arg
procedure(函数名(参数1 @rest 参数2)
(
函数体
)
)
;可选参数
procedure(函数名(参数1 @optional (参数2 值2) (参数3 值3))
(
函数体
)
)
4.变量
默认所有变量都是全局的,除非用let()或prog()包含局部代码段
5.使用
SKILL函数写好后,可以在EDA中通过的交互命令窗口,菜单栏,SKILL函数,表单,快捷键被调用
6.参考文献
详细的语法,API可以参考官方文档:
SKILL Language User Guide
SKILL Language Reference
Design Framework II SKILL Function Reference
SKILL Custom Layout Reference
SKILL Schematic Composer Reference