Skill语言及IPC初探.doc

Skill语言及IPC初探.doc

ID:49769668

大小:203.01 KB

页数:10页

时间:2020-03-04

Skill语言及IPC初探.doc_第1页
Skill语言及IPC初探.doc_第2页
Skill语言及IPC初探.doc_第3页
Skill语言及IPC初探.doc_第4页
Skill语言及IPC初探.doc_第5页
资源描述:

《Skill语言及IPC初探.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Skill语言及IPC初探引言Skill是一种解释性的脚本语言,运行于cadence设计环境,是cadence设计工具的API,skill程序可以对cadence设计工具进行功能的扩充,实现功能的定制,提高设计效率和水平。基于公司目前的pcb设计工具多为cadence产品,因此提高对skill的运用,可以充分发挥cadence设计工具的功能,其作用不言而喻。笔者经过了一定时间的熟悉,总结了一下,抛砖引玉,希望能和大家共同学习和讨论,促进和提高skill的应用水平。Skill语法概要Skill是”嵌入式”的

2、高级开发语言,运行于cadence的设计工具上,且是一种交互式的设计语言。作为一种程序语言,它具备了高级语言的常用特征。Cadence公司认为是类C语言风格,在笔者看来,更加类似vbscript、javascript甚至pl/sql。在处理内存管理上不用过多的留意,因为skill的内置解释器已经做了处理。需要做的只是利用提供的系统函数实现自己的业务需求。变量像一些松散的高级程序语言一样,变量不需要定义,为隐含定义,第一次出现就可以赋值。变量命名第一个字符不允许是数字。如:vTmp=3,表示vTmp已经定义

3、了为一数字类型值等于3。像所有程序语言一样,skill变量也要分为全局变量和局部变量。l全局变量全局变量一般用在程序中作为一个存储变量、标志等变量共享,或者为了传递的方便。其生存周期和进程一样。在skill中,如果不出现在prog()和let()函数的参数定义中出现的变量都为全局变量。Prog和let函数是主要目的用来定义局部变量。其中prog函数允许多点的返回。从程序设计角度来讲,尽量避免使用全局变量,因为全局变量总是难以清楚的跟踪控制,容易导致变量被修改,使得存储值发生变化。l局部变量局部变量作用于函

4、数体内,在其他语言中也可以作用于代码块中,如在c/c++中,函数体内大括号{}之间的变量,在出了”}”外,该变量随即实效,可以以这个名字重新定义变量了。这里介绍两个函数:prog()和let()prog(l_localVariables[[s_label]g_expr1]...)-------------------------------------------------------------------------------------------------------------------

5、----------------------ðg_result/nilprog函数用来定义局部变量,并且支持跳转和返回。函数的用法举例(函数的调用在稍后会介绍)prog((xy)                ;Declareslocalvariablesxandy.    x=5                  ;Initializexto5.    y=10                 ;Initializeyto10.    return(x+y))说明:1“;”表示注释,和c/c++中不同。

6、每一行结束一回车换行判断。2在上述函数中,两个变量xy为局部变量,作用域为prog函数体,函数返回一个值。3返回值用函数return,如在c/c++中用returnx+y4对于返回值的类型不需要声明let(l_bindingsg_expr1...)=>g_result函数举例:例1x=5let(((x'(abc))y)    println(y)               ;Printsnil.    x)=>(abc)                     ;Returnsthevalueofx.例

7、2procedure(test(xy)    let(((x6)(z"returnstring"))        if((equalxy)            thenz            elsenil)))test(86)                    ;Callfunctiontest.=>"returnstring"             ;zisreturnedbecause6==6.说明:例1中,函数let对局部变量x赋值为列表(ab---------------------

8、--------------------------------------------------------------------------------------------------------------------c),因此在函数let内返回x值时不会受外部全局变量x的影响,返回了(abc)例2中,传入的x值是8,在let函数中x为局部变量并且被赋值6,因此比较相同返回returnstring变量类型Skil

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。