Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12991|回复: 13

各位前辈,求指个方向

[复制链接]
发表于 2013-7-1 22:05:30 | 显示全部楼层 |阅读模式
想深入学学SKILL方面的(补充一下,我有软件基础,会写C、C++代码),请前辈们介绍下SKILL方面哪些教程或书藉比较好,先谢谢诸位了
发表于 2013-7-2 08:58:50 | 显示全部楼层
本帖最后由 XYX365 于 2013-7-2 09:10 编辑

最好的资料就是自带的帮助文档了,里面对每个函数的用法及举例都有详细的说明,下面列出几本常用的帮助文档:
==============================================================================
SKILL Language User Guide          SKILL的基本概念,特点,写法等。
SKILL Language Reference           作为SKILL Language User Guide的手册文件,具体列出了每一个函数的使用方法。
Allegro PCB and Package User Guide:Skill Reference           AXL-SKILL函数手册  AXL=(Allegro eXtension Language),
                                                                                         AXL-SKILL是 CADENCE SKILL核心, 在ALLEGRO中的一个扩充,
                                                                                         用来访问与操作 PCB_Editor 及其数据文件。
SKILL Development Help                               SKILL程序开发教程
SKILL Development Functions Reference       作为SKILL程序开发教程的手册文件,具体列出了开发调试函数的使用方法
Interprocess Communication SKILL Functions Reference      IPC函数手册
SKILL++ Object System Functions Reference                    SKILL++函数手册
==============================================================================
==============================================================================
看帮助手册时候的一些格式表示
|     竖线表示单个argument的不同取值可能
{ }   和竖线配合使用,用于超过三个以上的不同取值可能的情况。
[]    方括号表示可选的
...   三点省略号表示可以重复先前的参数
argument...   表示至少要一个参数,但是也可以多个
[argument]... 表示可以多个参数,但也可以是一个都没有
=>    向右的箭头表示函数运行后的返回结果
/     斜线表示函数返回的不同可能结果
例子:  
list( g_arg1 [g_arg2] ...) => l_result
needNCells( s_cellType | st_userType x_cellCount) => t / nil
==============================================================================


一、SKILL语言简介
SKILL语言是CADENCE公司为其软件提供的二次开发语言,通过编写SKILL程序,可以查询和操作ALLEGRO中的各种对象,例如走线、元件、过孔等。在ALLEGRO中的一些默认的功能就是使用SKILL语言写出来的程序;该语言的语法类似于C和C++,有这两种语言编程经验的人可以比较快的上手。
二、SKILL程序加载及执行
     1)要使用SKILL程序,首先要了解SKILL程序的加载机制,在CADENCE的安装路径中有两个路径与加载SKILL程序有关,也即SKILL的默认加载路径,它们是:$allegro_dir\share\local\pcb\skill 和 $allegro_dir\share\pcb\etc\skill ,其中,$allegro_dir表示ALLEGRO的安装目录。在ALLEGRO程序启动的时候,会到这两个目录中去寻找初始化文件。
2)初始化文件:该文件的名为 Allegro.ilinit ,这个文件在SKILL程序的加载中具有至关重要的作用,其内容本身就是可以是SKILL程序,通常这个文件被用来加载其他的SKILL程序,语法如下:
load("xxx.il")
或者,对于源代码加密过的SKILL程序:
load("xxx.il" "pwd")
其中,"pwd" 表示加密时使用的密码,由程序的加密者提供。
          "xxx.il" 表示需要加载的SKILL程序的文件名,如上所述,SKILL程序的默认加载路径有两个,只需要将需要加载的SKILL程序放在这两个目录中,并在Allegro.ilinit中添加相应的LOAD语句,则ALLEGRO在启动的时候就将自动加载这些SKILL程序。
3)执行程序:SKILL程序的执行可以有下列三种方式:
a)在skill程序中使用 axlCmdRegister 函数,将SKILL程序中的主函数注册成一个命令,然后在命令行中输入这个命令,回车就可以执行这个函数。例如在附录示例的程序中,主函数名称是“grids” 则在程序中使用:
axlCmdRegister( "grids_cmd" `grids)
注册一个名为 grids_cmd的命令,然后在ALLEGRO的命令行中输入grids_cmd并回车即可执行该程序。
b) 如果在SKILL程序中没有使用注册命令的函数,则如果需要在allegro平台下执行某一个函数,需要使用以下的格式: skill function_name
c) 通过菜单执行:在使用SKILL程序的过程中,为了不需要记忆命令,可以通过将命令添加进菜单的方式来执行程序,菜单文件的路径在 $allegro_dir\share\pcb\text\cuimenus目录中,文件名为allegro.men ,用文本编辑器打开这个文件,其基本格式很简单:
   MENUITEM "command_display", "command_name"
   "command_display" 表示菜单显示的文字,如下图所示:

   "command_name" 表示点击此菜单的时候所执行的命令。
  
三、SKILL程序开发
Skill程序同C语言程序一样,是一种面向对象编程语言,其基本单位是函数,整个skill程序构筑在函数的基础之上。
<一>、参考书籍(按重要性排序)
  1、《SKILL Language User Guide》: SKILL的基本概念,特点,写法等;
    《SKILL Language Reference》: SKILL Language User Guide的手册文件,具体列出了每一个函数的使用方法。
  2、《Allegro PCB and Package User Guide:Skill Reference》AXL-SKILL函数手册  AXL=(Allegro eXtension Language);AXL-SKILL是 CADENCE SKILL 核心 在ALLEGRO中的一个扩充。用来访问与操作 PCB_Editor 及其数据文件;  
  3、《SKILL Development Help》:SKILL程序开发教程;
    《SKILL Development Functions Reference》:作为SKILL程序开发教程的手册文件,具体列出了开发调试函数的使用方法;
  4、《Interprocess Communication SKILL Functions Reference》:IPC函数手册;
  5、《SKILL++ Object System Functions Reference》:SKILL++函数手册。
<二>、源程序编辑、调试环境
skill程序源代码编辑可以采用任何文本编辑器,但是为了提高编码的效率和查看程序的方便,推荐采用带语法高亮的文本编辑器,比如ULTRAEDIT或者NOTEPAD++,使用这两种编辑器的时候需要手动将SKILL语言的关键字输入进配置文件,否则该编辑器的语法高亮功能将不能使用,具体操作方法见编辑器本身的帮助文档。
由于skill语言是一种解释执行的语言,也即脚本语言,在执行程序的时候不需要编译成二进制代码,而是通过CADENCE提供的skill解析器来进行即使解析执行,因此,不同于C语言,SKILL语言的开发过程中没有编译环境,启动SKILL命令解释器的方法是在命令行输入skill并回车即可,在这种状态下,即可输入SKILL命令(函数)进行skill程序的调试和执行。
调试的过程因为skill的调试环境需要单独的LISENCE支持,而我们现有的授权文件均不具备这个条目,因而给SKILL程序的调试带来比较大的麻烦,目前唯一的调试途径就是逐条执行SKILL程序,然后查看skill解释器本身给出的出错信息进行判断,虽然效率不高,但是如果方法得当,还是可以迅速定位绝大部分的程序错误。
发表于 2013-7-2 09:07:12 | 显示全部楼层
一、SKILL语言简介

SKILL语言是CADENCE公司为其软件提供的二次开发语言,通过编写SKILL程序,可以查询和操作ALLEGRO中的各种对象,例如走线、元件、过孔等。在ALLEGRO中的一些默认的功能就是使用SKILL语言写出来的程序;该语言的语法类似于C和C++,有这两种语言编程经验的人可以比较快的上手。



二、SKILL程序加载及执行

     1)要使用SKILL程序,首先要了解SKILL程序的加载机制,在CADENCE的安装路径中有两个路径与加载SKILL程序有关,也即SKILL的默认加载路径,它们是:$allegro_dir\share\local\pcb\skill 和 $allegro_dir\share\pcb\etc\skill ,其中,$allegro_dir表示ALLEGRO的安装目录。在ALLEGRO程序启动的时候,会到这两个目录中去寻找初始化文件。

2)初始化文件:该文件的名为 Allegro.ilinit ,这个文件在SKILL程序的加载中具有至关重要的作用,其内容本身就是可以是SKILL程序,通常这个文件被用来加载其他的SKILL程序,语法如下:

load("xxx.il")

或者,对于源代码加密过的SKILL程序:

load("xxx.il" "pwd")

其中,"pwd" 表示加密时使用的密码,由程序的加密者提供。

          "xxx.il" 表示需要加载的SKILL程序的文件名,如上所述,SKILL程序的默认加载路径有两个,只需要将需要加载的SKILL程序放在这两个目录中,并在Allegro.ilinit中添加相应的LOAD语句,则ALLEGRO在启动的时候就将自动加载这些SKILL程序。



3)执行程序:SKILL程序的执行可以有下列三种方式:

a)在skill程序中使用 axlCmdRegister 函数,将SKILL程序中的主函数注册成一个命令,然后在命令行中输入这个命令,回车就可以执行这个函数。例如在附录示例的程序中,主函数名称是“grids” 则在程序中使用:

axlCmdRegister( "grids_cmd" `grids)

注册一个名为 grids_cmd的命令,然后在ALLEGRO的命令行中输入grids_cmd并回车即可执行该程序。

b) 如果在SKILL程序中没有使用注册命令的函数,则如果需要在allegro平台下执行某一个函数,需要使用以下的格式: skill function_name

c) 通过菜单执行:在使用SKILL程序的过程中,为了不需要记忆命令,可以通过将命令添加进菜单的方式来执行程序,菜单文件的路径在 $allegro_dir\share\pcb\text\cuimenus目录中,文件名为allegro.men ,用文本编辑器打开这个文件,其基本格式很简单:

   MENUITEM "command_display", "command_name"

   "command_display" 表示菜单显示的文字,如下图所示:


   "command_name" 表示点击此菜单的时候所执行的命令。

  

三、SKILL程序开发

Skill程序同C语言程序一样,是一种面向对象编程语言,其基本单位是函数,整个skill程序构筑在函数的基础之上。

<一>、参考书籍(按重要性排序)

  1、《SKILL Language User Guide》: SKILL的基本概念,特点,写法等;

    《SKILL Language Reference》: SKILL Language User Guide的手册文件,具体列出了每一个函数的使用方法。

  2、《Allegro PCB and Package User Guide:Skill Reference》AXL-SKILL函数手册  AXL=(Allegro eXtension Language);AXL-SKILL是 CADENCE SKILL 核心 在ALLEGRO中的一个扩充。用来访问与操作 PCB_Editor 及其数据文件;  

  3、《SKILL Development Help》:SKILL程序开发教程;

    《SKILL Development Functions Reference》:作为SKILL程序开发教程的手册文件,具体列出了开发调试函数的使用方法;

  4、《Interprocess Communication SKILL Functions Reference》:IPC函数手册;

  5、《SKILL++ Object System Functions Reference》:SKILL++函数手册。



<二>、源程序编辑、调试环境

skill程序源代码编辑可以采用任何文本编辑器,但是为了提高编码的效率和查看程序的方便,推荐采用带语法高亮的文本编辑器,比如ULTRAEDIT或者NOTEPAD++,使用这两种编辑器的时候需要手动将SKILL语言的关键字输入进配置文件,否则该编辑器的语法高亮功能将不能使用,具体操作方法见编辑器本身的帮助文档。

由于skill语言是一种解释执行的语言,也即脚本语言,在执行程序的时候不需要编译成二进制代码,而是通过CADENCE提供的skill解析器来进行即使解析执行,因此,不同于C语言,SKILL语言的开发过程中没有编译环境,启动SKILL命令解释器的方法是在命令行输入skill并回车即可,在这种状态下,即可输入SKILL命令(函数)进行skill程序的调试和执行。

调试的过程因为skill的调试环境需要单独的LISENCE支持,而我们现有的授权文件均不具备这个条目,因而给SKILL程序的调试带来比较大的麻烦,目前唯一的调试途径就是逐条执行SKILL程序,然后查看skill解释器本身给出的出错信息进行判断,虽然效率不高,但是如果方法得当,还是可以迅速定位绝大部分的程序错误。

发表于 2013-7-3 22:51:19 | 显示全部楼层
有相应的书籍没
发表于 2013-7-4 21:35:57 | 显示全部楼层
市面上目前还没有出这样的书籍。
建议多看看文档。
入门了就好了。大家都是这么过来的。
刚开始可以试着编写小功能。
发表于 2013-7-16 18:25:25 | 显示全部楼层
vivienluo 发表于 2013-7-4 21:35
市面上目前还没有出这样的书籍。
建议多看看文档。
入门了就好了。大家都是这么过来的。

深入学习!深入学习!
发表于 2013-7-18 15:48:39 | 显示全部楼层
Allegro PCB and Package User Guide:Skill Reference在哪里找到呢?
发表于 2013-7-19 08:04:51 | 显示全部楼层
冷青瓷 发表于 2013-7-18 15:48
Allegro PCB and Package User Guide:Skill Reference在哪里找到呢?

在這個路徑下 X:\Cadence\SPB_16.5\doc\algroskill\algroskill.pdf,
其中16.5要看你安裝的版本
发表于 2013-7-19 08:52:25 | 显示全部楼层
嗯,找到了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-4-26 03:15 , Processed in 0.181942 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表