好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

AllegroSkillaxl函数简介.doc

22页
  • 卖家[上传人]:平***
  • 文档编号:12227444
  • 上传时间:2017-10-17
  • 文档格式:DOC
  • 文档大小:83.52KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Allegro Skill axl 函数简介allegro skill 简介1. AXL-SKILL专用于 allegro 的 skill 被称为 AXL-SKILL,只有使用这些专用的函数才可以直接访问allegro 的 database结合 skill 语法和这些专用函数可以编写出实现各种功能的命令专用于 allegro 的 skill 都是以 axl 开头,比如 axlClearSelSet()2. 运行 AXL-SKILL在 allegro 中输入 skill 就得到了 AXL-SKILL 的运行环境,在这样的环境中可以直接调用AXL-SKILL 命令/函数,另外输入 set telskill 可以得到一个尺寸大小可调的 skill 开发窗口万一没有弹出窗口,尝试在 allegro 菜单里面,选择 setup->user prference->skill->telskill----OK)3. AXL-SKILL Databaseallegro 中的每个对象 object(比如 IC 元件,net)都有一个对应的 dbid(database identifiers),AXL-SKILL 操作 allegro 的也正是这些 dbid。

      dbid 对象:在不同的级别上的 dbid 是不一样的,比如在 Design 以及包含的 database 对象有 Property Dictionary,Lines,Text,Polygons,Shapes,Property Definitions,DRCs ,Vias that are Padstack object types,Symbols that are Symdef object types,Components , Nets;而在 Symbol 级别上则是 PPins that are Padstack object types,Vias that are Padstack object types,Lines ,Arcs,Text ,Polygons,Shapesallegro skill database 对象类型 1. database 对象描述1.1 对象类型Figure objects: Arcs,Branches ,Design Files,Drcs,Lines,Paths ,Polygons ,Ppins,Shapes ,Symbols ,Tees ,Vias ,Pads,Padstacks,Symdefs; Logical objects:Components ,Functions,Function Pins,Nets; Property dictionary objects; Parameter objects:Design ,Display,Layer Group,Layer,Textblock Group,Textblock。

      1.2 基本操作尽管有如此之多的类型,但是在 allegro 中的操作其实就是找到合适的 database 元素,然后对其操作就好了只要保证被访问的元素的 dbid 有效,就可以对其进行处理2. Figure 类型Figure 在 allegro PCB Editer 里面一般被成为几何形状,一个 Figure 类型的元素通常具有如下的属性常见的 Figure 属性属性名 类型 描述 bBox bbox Figure’s bounding box branch dbid For etch, the figure’s branch parent layer t_layer Layer of figure, nil if object is multi-layer parent dbid Nonconnective owner net dbid Net object if figure is associated with a net注意: 对于所有空(dummy)网络的 Figure, 它们的 net 属性都是"", 而不是 nil。

      Figure 有很多的类型,每个类型都有很多个属性,具体的信息请参考 algroskill.pdf 文档的第二章,这里只列出其中的 Line Line 的属性列表( 除 Figure 类型常见的属性以外的部分)属性名 类型 描述 isEtch t/nil t = a CLINE; nil = a LINE lineType s_type symbol: horizontal, vertical, odd objType string Type of object, in this case "line" parent dbid Path, polygon, or shape startEnd l_point Start and end points width float Width of line3. Logical 类型Logical 类型其实就是和电气有关的属性,比如网络连接(net) ,电子器件{component) 等。

      Logical 类型通常都具有 objType, prop, and readOnly3种属性 如果你选择了一个component,那么它的 objType 就是 component,如果选择的是 pin,则 objType 属性值就是 pin......一个简单的例子 Bus(总线),其它的 Logical 类型请参考 Cadence 的 algroskill.pdf 文件属性名 类型 描述groupMembers l_dbid List of xnets of the busname string Name of the bus objType string “group” type string “BUS”4. Property Dictionary 类型在 allegro 的应用中会根据工作的需要自己定制( 创建)属性——用户定义的属性(user defined properties)。

      Allegro 支持用户创建具备如下特性的属性NETS, COMPONENTS, FUNCTIONS PINS, VIAS, SHAPES, SYMBOLS, CLINES, LINES, DRCS, FIGURES,DESIGNS, COMPDEFS, PINDEFS, FUNCDEFS如果你创建了一个只包含 SYMBOLS 类型的属性,那么你创建的这个属性只能被赋给 Allegro 中的 Symbol 对象,而不可以赋给 一个 net 或其它非 Symbol 的对象5. Parameter 类型Parameter 的简单理解就是 Allegro 中个各个设置参数,举个简单的例子,系统(Design)级别的参数列表 Design Parameter 属性属性名 可设置否? 类型 描述 accuracy no integer Number of decimal places of accuracy bBox no bbox The design’s bounding box height no float Height in user units objType no string Type of object, in this case "paramDesign" units no string Type of user units (mils, inch, micron,millimeter and centimeter) width no float Width in user units xy no point Lower left corner of design 注意: 可设置否表示的是能否通过函数 axlParamSet 来设置。

      下一章将主要讲对 Allegro Parameter 的操作,对参数的读取,修改与更新等等allegro skill Database 操作相关函数 5.1 Database Read 函数和以前一样,这里只介绍部分的函数,其它的函数请参考 algroskill.pdf 文件 axlDBGetDesign() => dbid,当前 design 的 dbid,基本上来说整个 design 的所有信息都可以通过这个 dbid 得到比如 design 有多少个 component,每个 component 的 dbid;比如 design 有多少 drc,每个 drc 又分别是什么等等axlDBGetAttachedText(o_dbid) => text dbid,得到 o_dbid 对象所具有的(被 attached 的)text 的 dbid 列表该函数常用于在一个包含很多 text 的 symbol 对象上查找特定 text 的应用中比如我们通常会把一个 design 放在适当尺寸的 sheet 中,对应于 design 的各个层,sheet 也会有对于的页码来表示,比如 sheet 的第1 页是 Top 层,那么 int1层可能就是第2页,如果你想写个程序来实现页码的自动更新,就会用到这个函数来找到需要被修改的字符 (text),然后用后面将要说到的 Database Create 相应函数来修改选中的字符。

      axlDBGetPad(o_dbid t_layer t_type) => pad dbid,获得 pin,via,padstack 相应层的特定 pad比如 axlDBGetPad(dpin “Etch/Top" ”anti“)=>dpin 对象在 Top 层的 anti-pad 的dbid通过这个 dbid 又可以进一步得到 pad 的一些相关属性axlDBGetPropDictEntry(t_name) => propdefinition,得到 user defined properties 里面设置的各个属性的信息,比如属性类型,应用的对象axlDBGetProperties(o_dbid [lt_type]) => l_results,得到 o_dbid 所具有的 properties 列表,allegro 默认的或者是 user definedaxlDBIsFixed(o_dbid) => t/nil,判断一个对象是不是被 fixed 了通常在用户程序想修改一些 design 的对象的时候,必须先确定该对象是不是被 fixed 了,fixed 对象是不可以被修改的用户必须先给 fixed 的对象 un-fixed,然后才能进行修改)axlDBGetShapes(t_layer) => shape dbid,一种获取指定层所有 shape 的快捷方式。

      通常的获取对象的方式都是先要设置 FindF。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.