Cadence-skill语言简介 下载本文

内容发布更新时间 : 2024/9/21 0:27:27星期一 下面是文章的全部内容请认真阅读。

Cadence skill语言简介

Cadence提供二次开发的SKILL语言,它是一种基于通用人工智能语言—Lisp的交互式高级编程语言(LISP即List Processing-表处理,是最早和最重要的符号处理编程语言之一,它于1958年由美国的J. McCarthy提出,LISP在人工智能AI方面获得广泛应用)。

SKILL语言支持一套类似C语言的语法,大大降低了初学者学习的难度,同时高水平的编程者可以选择使用类似Lisp语言的全部功能。所以SKILL语言既可以用作最简单的工具语言,也可以作为开发任何应用的、强大的编程语言。 SKILL可以与底层系统交互,也提供了访问Cadence各个工具的丰富接口。用户可以通过Skill语言来访问,并且可以开发自己的基于Cadence平台的工具。

1. Skill语言和Lisp语言的关系

Skill函数提供两种表示法,一种是代数表示法,现在大多数语言采取这种方式,即

func( arg1 arg2 ...),另一种是前缀表示法,类似于Lisp语言,即(func arg1 arg2 ...)。这里举个例子作为对比: 1.代数表示法

procedure( fibonacci(n) if( (n == 1 || n == 2) then 1

else fibonacci(n-1) + fibonacci(n-2) ) )

2.前缀表示法

(defun fibonacci (n) (cond

((or (equal n 1) (equal n 2)) 1)

(t (plus (fibonacci (difference n 1)) (fibonacci (difference n 2)))) ) )

这里可以看到类似Lisp语言的表示法后面有很多右括号,而且函数和参数容易混淆,所以一般推荐还是用常用的类C语言代数表示法

Skill程序就像一个list表,类似Lisp语言,程序的操作就像操作数据(list)一样,可以生成,修改,求值等

2. 关于Skill函数

SKILL语言支持一套类似C语言的语法,初学者有了一定的C语言基础,入门是很容易的。Cadence的工具可以通过CIW,Bindkey,Form,Menu等多种方式调用skill函数,送到skill语言的解释器来执行各种操作。

其中CIW(Command Interpreter Window),即启动Icfb的第一个窗口,包含一些常用的menu,一个输入行,以及一个输出区域,这里是常用的debug skill程序的地方,当然cadence也提供了Tools->Skill Development,有兴趣的话可以深入研究一下

2.1 Skill函数的查阅方法

Skill语言有n多函数,加上众多工具的接口函数,可以用成千上万来形容,初学者可能会感到晕头转向,无从下手。其实只要了解基本的变量,控制语句,输入输出以及一些常用工具的基本函数就可以了,大多数函数都可以用到再查阅。开始学习skill时可以仔细看看SKILL Language User Guide,其他的可以用到时再查阅,这里列出几个经常会用到的文档:SKILL Language Reference -Skill语言相关的函数,Cadence User Interface SKILL Functions Reference -Cadence应用程序图形界面接口函数,Design Framework II SKILL Functions Reference,SKILL Custom Layout Reference,SKILL Schematic Composer Reference分别是Cadence的Design Framework II,版图,电路的接口函数。

当然还有其他众多工具的接口函数,因此Skill需要方便的函数查阅方法,这里列出3种:

1.最简单的方法,看~/CDS.log文件或者CIW的输出区域,把Options-> LogFilter都选上。这里一般可以查阅在图形界面下运行的函数,如图,我们可以看到画path线的函数以及输出结果等

2.在CIW里输入命令startFinder,或者在Terminal上输入cdsFinder& . Finder适用于至少知道函数名的一部分,这里可以查到函数的用法简介。例如上图我们看到画path的函数是leHiCreatePath(),但这是图形方式的函数,对应skill方式的函数呢用法呢,可以在Finder中输入CreatePath,这样我们就可以看到包含有CreatePath的所有函数,如图,leCreatePath即是我们想找的函数,这里可以看到简单的用法介绍

3.上面我们查到的关于函数用法的介绍很简单,如何知道其详细介绍呢。当然如果你知道函数在那个文档里,直接打开就行了,如果不知道,就需要打开help的search功能,这里可以查到详细的功能用法。

运行cdsdoc&, 点击Search打开Cadence help的搜索功能,工具会自动启动一个http服务,同时打开搜索网页,启动服务后,你也可以在windows的IE里输入http://hostname:9000/search.htm,同样可以打开搜索页面,需要注意的是,在C:\\WINNT\\system32\\drivers\\etc\\hosts文件中需要加入hostname对应的ip,如:

127.0.0.1 localhost 10.0.10.2 host1

Cadence help的搜索功能默认是用Netscape打开搜索网页,如果没有装Netscape,可能会打不开网页。可以先打开firefox,mozila等浏览器,再启动cadence doc搜索http服务,这样就可以打开搜索网页了