|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
对于编写SKILL语言,当熟悉基本语法规则和常用控制函数(if, when, foreach, case ...)后,最主要的就是寻找合适的Cadence 函数(API)来实现所需要的目的。
下面跟大家分享下,我在搜选SKILL函数方面的一些经验,希望对大家有所帮助。
1. 最详细的SKILL函数说明。
在Cadence对于SKILL函数,都是根据各个不同的工具来进行文档编辑的。
下面是我保存的一些常用文档
当我需要编写针对schematic的脚本时,我就会去查在“skill reference virtuoso schematic editor”文档中查找。
(P.S 文件名是我自己编辑过的,调换了下顺序,关键字还是这些)
2. 最便捷的
Cadence也提供了API finder。在Cadence 6.1.6中为 CIW-->Tool-->SKILL FINDER
在Cadence 6.1.5 之前,以及Cadence5.1.4.1中,可能为CIW-->Tool-->Skill Develop --> Finder
在打开的窗口中可以输入关键字,工具会返回相对应的函数,选中函数则会给出简单的说明。该说明比pdf文档中的要简略。主要是没有举例和详细变量说明。
3. 最全面的
之前在另外一篇帖子中给出的函数,在最后又贴出了一边。
这个通过这个函数可以找到Cadence中定义的所有函数,包括私有函数和用户自定义函数。
其中有些公共API在pdf文档和API Finder中都没有显示。但可以根据函数名本身来猜测函数功能。
然后再尝试不输入任何变量运行(例如 在CIW 键入 func() , func为函数名),通过error message可以获得需要要的变量数目和类型。
总以上说
方法1: 函数解释最详尽,包含函数最少,需要访问不同文件来查找函数。
方法2: 拥有基本的函数解释,包含大部分公共函数,可以在Cadence中查找各种工具的函数。
方法3: 没有关于函数的解释,包含所有的函数,可以在Cadence中查找各种工具的函数。
procedure( wyFindFunctions(keyWord)
prog(
(
funcList
)
unless(keyWord return(nil) ) ;quit when no keyword has been defined
funcList = setof( x
rexMatchList(get_string(keyWord) oblist)
isCallable(x)
);setof
printf("============================================\n")
mapc( 'println sort( funcList 'alphalessp ) )
printf("============================================\n")
return(t)
);prog
);proc |
|