Cadence Allegro SKILL语言,附实例,问题
下面是在其他网站上看到一个帖子,供初学者学习,后面附我的问题,请高手作答。
1、如何理解Cadence Allegro SKILL程序设计语言?
SKILL语言是Cadence提供给用户的一个开发接口,利用其本身提供的接口函数和SKILL语言完成自动化操作的功能。例如:自动化检查,出报告、布局,布线等(在此只讨论PCB Editor的自动化操作)。
2、什么样的人适合使用SKILL语言进行自动化操作?
PCB工程师(具有需求的人,通过编程来实现),EDA二次开发工程师(熟悉编程的人,实现特定的业务需求)
3、SKILL语言能使得PCB设计提高多少效率?
举个很简单的例子,FPM这个自动化建库工具,可以自动生成几千个封装库, 如果一个库需要5分钟,那么,我们建这么多的封装库就需要10000多分钟,利用工具仅仅需要1个小时左右,看到这些,我想大家应该明白了,自动化的操作至少为我们提高效率5倍,当然,质量的保证更是潜在的价值。
4、如何在PCB Editor环境下启动SKILL命令行解释器界面?
直接输入set telskill , 然后你就会看到一个新的界面, 这个界面就是用来运行SKILL函数和命令的解释器。当然,如果你不觉得界面太小,可以直接在命令行中输入skill , 然后运行SKILL函数和命令, 也可以正常执行,退出可以直接输入exit。
5、如何执行写在文件中的SKILL函数和命令?
首先,我们按照上面的方法运行SKILL命令行解释器,然后输入getSkillPath(), 回车后,可以看到返回一个路径的列表,如果我们的SKILL文件放在这些路径下,就可以直接使用load()函数加载使用,如果你的SKILL文件没有在其中的一个路径下,就需要带上绝对路径,这个地方大家需要注意‘/’和‘\’的区别,我不想做什么理论描述,看看下面的例子:
假如你有一个文件放在C:下,名字为test.il, 一般SKILL文件都以.il为后缀
使用Ultra-Editor打开文件,输入如下内容:
procedure( tr_Example_1()
prog( ()
;打印一串字符
printf("Let's go today.\n")
;弹出一个对话框
axlUIConfirm("Hello, SKILL...\n")
return(t)
))
然后在SKILL解释器界面下加载SKILL文件如下:
load("C:/test.il") 或者 load("C:\\test.il")
接下来运行 tr_Example_1() , 回车,看看结果吧。
总结上面的例子
一、SKILL文件的扩展名一般为.il,通过load()函数可以加载SKILL文件
二、SKILL文件放在一些特定的路径下可以直接加载,不需要输入绝对路径,直接输入文件名即可, load("test.il")
三、带绝对路径加载SKILL文件,一般输入一个/来隔开路径, 如果需要使用\,则需要输入两个,\代表转义,\\表示一个\。
四、使用procedure可以定义一个SKILL函数,上面的例子, 函数名为tr_Example_1,注意函数名后的括号和函数名之间不要有空格。
五、我们可以很方便的在SKILL解释器中单步调试SKILL语句,例如:上面函数体中的printf("Let's go today.\n")可以直接在SKILL解释器下运行,当然axlUIConfirm("Hello, SKILL...\n")也可以,其中函数体中的注释为以分号开始的行,此为单行注释。
六、我们还可以使用像C语言的注释一样/* */来进行模块注释,但是不要出现两个/* */注释的嵌套。
我的问题:
上面的例子运行后应该会弹出一个确认窗口,我运行后为什么没有?只是返回一串字符?
大家帮忙测试下。
大哥啊,你都说通过load()函数可以加载SKILL文件,只是加载,没执行呢。
“接下来运行 tr_Example_1() , 回车,看看结果吧。”
问题解决了,
不是我没运行,我还没菜到那种地步
too simple!
command>set telskill
skill>axlUIConfirm("Hello, SKILL...\n")
看看有没有弹出窗口,如果没有,就别管它了。
谢谢分享学习了.
学习!