allegro skill使用说明详解
Cadence应用如何在allegro中使用skill

Cadence应⽤如何在allegro中使⽤skillCadence软件应⽤:如何在Allegro中执⾏SkillHow to Perform Skills in Allegro ToolsDoc Scope : Allegro SkillDoc Number : SFTEC11005Author : Daniel ZhongCreate Date : 2011-11-09Rev : 1.00⽬录1Skill简介 (3)2在Allegro命令⾏中加载和调⽤Skill (3)2.1命令⾏加载Skill (3)2.2命令⾏调⽤Skill (4)3在Allegro启动时加载Skill (5)3.1allegro.ilinit⽂件 (5)3.2编辑allegro.ilinit (7)4在Allegro菜单栏上调⽤Skill (8)4.1Allegro系列⼯具的菜单⽂件(.men) (8)4.2菜单⽂件搜索路径 (10)4.3定制菜单 (11)1Skill简介Skill是Allegro软件⼆次开发的接⼝,⽤此语⾔编译的⽂件可以在Allegro中载⼊和调⽤。
我们可以通过编写不同的Skill程序⽂件,在Allegro⼯具中实现各种原有命令不能实现或不⽅便实现的功能。
Skill语⾔的语法结构和C++语⾔类似,⼯程师如果有⼀定C语⾔编程基础,使⽤Skill语⾔时就会很⽅便了。
对于Skill程序的⽤户,不需要对Skill语⾔有过多的了解,只需要知道如何在Allegro中加载和调⽤Skill即可,本⽂就是介绍了如何加载和调⽤Skill,可以采⽤两种⽅式:■在Allegro命令⾏中加载和调⽤■在Allegro启动⾃动加载,在Allegro菜单上调⽤2在Allegro命令⾏中加载和调⽤Skill本章介绍如何在Allegro命令⾏中加载和调⽤Skill,分为以下两个⼩节:■命令⾏加载Skill■命令⾏调⽤Skill2.1命令⾏加载Skill以本站资源下载中的⼀个skill程序clinecut.il为例,将此⽂件移动或复制allegro设计⽂件(.brd)所在⽬录。
AllegroSkill加载–Layouto

AllegroSkill加载–LayoutoTiny_Y如何加载skill按照Allegro的启动逻辑,软件启动时会自动加载allegro.ilinit文件,所以常规通过此文件加载skill文件(当然你也可以直接在打开的Allegro软件中直接加载,仅对此次加载生效)1.获取Skill文件,放到指定目录(见下方skill文件内容)2.打开allegro.ilinit文件,加载上方的skill文件(见allegro.ilinit文件内容)3.这样每次启动Allegro软件时,skill文件都会被加载如何调用skill功能CIW直接在Skill环境下,调用函数,如getSkillPath()是一个定义好的skill功能,在Command窗口直接输入skill getSkillPath()则可以直接执行这个程序。
skill环境内容参考后面的资料PCB Editor搭载SKILL 环境Bindkeys见后续章节axlCmdRegisteraxlCmdRegister( “20” 'BOTTOM)一般设计者会将skill程序,使用axlCmdRegister注册一个快捷命令,一同写在il文件中(但其实写在任何skill环境的文件中并被加载,都能生效),这样通过定义的快捷命令即可调用此skill功能更多见Cadence SKILL 第二节语言一览,SKILL函数调用章节内容Allegro PCB启动1.读取allegro PCB 编辑器的env 文件2.然后运行allegro.ilinit 文件3.最后自动加载菜单配置文件allegro.menallegro.ilinit文件用户在程序启动时加载的skill代码。
顺序在在加载数据库或菜单之前,如果需要在数据库打开时执行操作,请通过axlTriggerSet API 注册回调触发器Allegro默认识别两个路径X:\Cadence\SPB_XX.X\share\pcb\etc;%home%\pcbenv。
Allegro Skill中数据的输入输出控制

SKILL中数据的输出控制1.数据的输出可以使用以下函数print、println、printfprint和println对不同数据类型采用默认显示格式。
print和println采用以下格式显示数据:print与println的区别print直接在之前的数据后面输出,而println在每次输出的最后会加一个换行符。
请看下面例子:for( i 1 3 print( "hello" )) ;Prints hello three times. "hello""hello""hello"for( i 1 3 println( "hello" )) ;Prints hello three times."hello""hello""hello"printf 函数printf函数采用格式输出。
其格式一般为:printf(格式控制,输出表列)比如:printf("\n%-15s %-15s %-10d %-10d %-10d %-10d" layerName purpose rectCount labelCount lineCount miscCount)上面例子中,printf括号中包含两个部分:第一个部分为格式控制,是用双引号括起来的字符串。
其中包含有各个格式说明,由格式说明符号”%”和格式字符组成。
比如上例中的”%d”、”%s”。
一般”%”后面为格式字符。
格式控制中还可包含普通的字符,普通字符不会转换,直接输出。
第二部分为输出表列,输出表列为输出的各个数据,也可以是表达式。
比如下面例子:printf(“a=%d b=%d a+b=%d” a b a+b)当a=2 b=3时,以上printf函数输出为“a= 2 b=3 a+b=5”以下为一些常见的转义字符:%d 整数(十进制)%f 浮点型%s 字符串或symbol%c 字符输出,只输出一个字符%n 数值%L List%P 坐标点%B Bounding Box请参考下面的例子:aList = '(1 2 3)printf( "\nThis is a list: %L" aList ) => tThis is a list: (1 2 3)aList = nilprintf( "\nThis is a list: %L" aList ) => tThis is a list: nil如果printf中数据类型如果与格式说明中的不匹配,那么printf函数将会产生一个错误!比如:printf( "%d %d" 5 nil )Message: *Error* fprintf/sprintf:format spec. incompatible with data –nil上例中,第二个格式说明为输出整数,但是传递的为nil。
Allegro使用技巧

Allegro使用技巧这几个分别是通用,布局,布线。
右键不一样,注意区别,最后一个是修剪直角。
Allegro技巧有太多了,就先选择我们会用到的10个类型。
Allegro封装神器FPM,写进教科书的网友作品。
快速生成封装。
•快速丝印丝印摆放总共分三步。
第一步调整统一大小先打开丝印层。
选择Edit-change,在find中只选择text,options中只选择text block并设置成自己需要的字体。
框选左右丝印。
第二步全部居中Manufacture-label Tune弹出label tune:配置如上,框选所有字体。
字体自动对齐器件中心。
如果没有label Tun选型,选择file-change edit勾选allegro productivity toolbox第三步放到合适位置可以第二步中的Center text设置好便宜距离之后,框选对应字体,对于0603元件通常短边60,长边110。
对于不规则或者密集器件,只能手动摆放。
•器件对齐除了选择大个网格摆放对齐外,对于高密度板,我们可以利用allegro的对齐功能进行器件对齐1.选择第二个placementedit2.框选需要对齐器件后,右键选择Align components 根据需要选择对齐模式,同时可以通过equal spaceing选择间距。
•Env文件Env可以快速的配置快捷键,比如实现AD里面的“空格”旋转器件(这里设置的是R)。
我们通常配置为全局量。
位置在...\Cadence\SPB_Data\pcbenv 下,直接替换即可。
替换前注意保存原来的set padpath等路径。
不然替换后还要重新设置路径。
快捷键有两种alias和funckey,Alias对于字母、数字类快捷键需要回车才会执行,Funckey则无需回车。
部分设置如下:funckey A slide #修线funckey B unrats net #关掉网络飞线funckey C change #改变属性funckey D shape select #修改铜皮funckey E add line #添加没有电气属性的线funckey F Delay Tune #等长蛇形线funckey G define grid #格点设置funckey H hilight #高亮funckey I zoom in #放大funckey J dehilight #取消高亮funckey K swap components #器件位置交换funckey L mirror #镜像funckey M move #移动funckey N show element #查看属性funckey O zoom out #缩小funckey P show measure #测距funckey Q done #完成funckey R angle 90 #旋转90funckey S shape add #添加铜皮funckey T text edit #文本编辑funckey U Assign Color #用颜色高亮funckey V rats net #打开网络飞线funckey W add connect #走线funckey Y Shape Edit Boundary #切割铜皮funckey Z align components #对齐使用注意事项,1.大小写匹配,2.输入快捷键前没有输入其他字母,可以在cmmand栏查看•增加组同样在placementedit下选中需要设置为同一组的元件,右键add to group,这样在移动的时候在find中选中groups,就可以一起移动了•相似布局对于具有相似的元件特别是电源电路,我们可以利用allegro的相似布局功能,快速布局1.先补好一组布局,右键place replicate create,再次右键选择done。
Allegro软件操作技巧

2)16.3: 16.3 创建区域规则:Shanpe Add Rect,Options 参数设置如下图(区域 名称 BGA08 自动会出现在规则管理器中) 画区域铜 在规则管理器中的
3
Allegro 软件操作技巧-lingling1350@
Physical 或 Spacing 的 Constraint Set 中创建相应的规则(规则名为区域名) 在 Physical 或 Spacing 的 Region 中指定规则。
3)在区域规则里面创建差分规则,要在指定区域中的规则里创建 Region-class。 8、 差分规则 1) 对内等长:在 differentialpair 里面设置
2) 对间等长:在 relative propagation delay 设置 3) 16.3 版本中 min line spacing 留空或写 0,否则-tolerance 无法设置 9、 关于 skill 9.1 对齐器件或孔:placementalign objects,框选要对齐的器件的 pin 或 者孔,如果多个对齐,则 temp group按顺序单击需要对齐的孔或 pin右 键,complete.支持多次对齐操作。假如想水平方向对齐、却用了垂直方向对 齐,complete 后按一下 Roate 快捷键即可,反之亦然。 9.2 活动层切换:快捷键 l 进入层切换菜单,<t b>显示相应序号的层,英文 状态下的逗号和句号分别是上一层和下一层的显示切换,<,t 3 b,>设置上下 层切换的层,默认为所有层。 11、割板和合板 1) 割板:Placedesign patitioncreatpatition右键 add shape,画 分割区work flow manageexport
AllegroSkill 跟着学-先学会用_0204

§1-6 运行环境..................................................9 . Cadence 安装设置......................... 9 . Allegro 启动过程......................... 10
.. 毛遂自荐
计算机及其应用专业的我,从事 Allegro layout 十余年,偏爱玩转计算机软件。有任何疑问 都可加我的 QQ:16831621,skype:tatarlxw.随时联系。
. 出书原因
因为工作需要接触了 skill 语言,苦于网络上没有一本完整的 skill 学习资料,就结合了 lisp、 turb C、skill-axl 三种语言写了这本《 Cadence Skill 跟着学》,算是笔记。iv
§1-10 加载 skill 程序_allegro.ilinit............. 17 .. Skill 函数.............................................17 . 自定义命令.................................. 17 .. 跟学写两个 Skill 小程序...................18
.. Skill 能做什么?
SKILL 语言是 Cadence 提供给用户的一个开发接口,利用其本身提供的接口函数和 SKILL 语言完成自动化操作的功能。可为 PCB 工程师们提高工作效率,缩短工程图面开发周期,减 少出错率等,品质保证等各方面都有一定的帮助。
skill添加到菜单
skill添加到菜单
1、调用skill
将skill文件拷到pcbenv文件夹中,如下如所示
然后找到allegro.ilinit文件,也在pcbenv文件夹中,如果没有就新建一个,将刚才的skill文件Load进来,如下图所示
打开skill文件,查看执行命令,如下图所示
axlCmdRegister后面" "跟的就是执行命令,这里执行命令是conv 重启allegro,输入命令conv,弹出如下对话框
2、skill添加到菜单栏
找到allero.men 文件,如下图
打开按照格式添加自己的代码,如下图所示
MENUITEM “&MM to Mil”,"conv" 其中MM to Mil表示菜单,conv表示菜单MM to Mil执行的命令是conv。
重启allegro后,可以看到菜单栏上多了两个,Condor和Heroes。
如下图所示。
单击MM to Mil子菜单,弹出如下图所示窗口
由此可见菜单本身也是调用命令,只是看起来方便些,不需要去记那些命令。
至此skill添加到菜单就全部结束了。
allegro?使用汇总
allegro?使用汇总1.如何在allegro中取消花焊盘(十字焊盘)set up->design parameter ->shape->edit global dynamic shape parameters->Thermal relief connects ->Thru pins ,Smd pins -> full contact2.allegro 中如何设置等长setup -> constraints->electrical->net->routing->Min Max Propagation delays选择要等长的net->右击->create->pin pair->选择pin修改 prop daly 的min 和max项3.如何设置allegro的快捷键修改文件$inst_dir\share\pcb\text\env 或$inst_dir\pcbevn\env快捷键定义如下:alias F12 zoom outalias ~R angle 90 (旋转90 度)alias ~F mirror (激活镜相命令)alias ~Z next (执行下一步命令)alias End redisplay(刷新屏幕)alias Del Delete(激活删除命令)alias Home Zoom fit(全屏显示)alias Insert Define grid(设置栅格)alias End redisplayalias Pgdown zoom outalias Pgup zoom inalias F12 custom smoothalias Pgup slidealias Pgdown donealias Home hilightalias End dehilightalias Insert add connectalias Del Delete4.如何在allegro中删除有过孔或布线的层时不影响其他层1.输出specctra的dsn文件allegro->file->export->router->demo.dsn->run2.产生session文件specctra(pcb router)->file->write->session->demo.ses->ok3.删除某一层中的布线和过孔delete(ctrl+D)->..4.删除allegro中的板层setup->cross section->鼠标右键->delete5.导入session文件allegro->file->import->router->demo.ses->run也可先将通过该层的过孔先替换成顶层焊盘,删除该层以后再替换回来5.如何在Allegro中同时旋转多个零件1.Edit->Move 在Options中Rotation的Point选User Pick2 再右键选Term Group 按住鼠标左键不放并拉一个框选中器件多余的可用Ctrl+鼠标左键点击去掉.3. 选好需整体旋转的器件后右键complete.4. 提示你Pick orgion 鼠标左键选旋转中心.5 下面右键选rotate 即可旋转了.6.allegro 16.0 透明度设置display->colour/visibility->display->OpenGL->Global transparency->transparent7.allegro Drill hole size is equal or larger than smallest padsize.Pad will be drilled away.提示Drill hole size is equal or larger than smallest pad size.Pad will be drilled away.不用理睬这一提示8.ALLEGRO 如何生成钻孔文件Manufacture -> NC -> Drill Customization->auto generate symbolsManufacture -> NC -> Drill LegendManufacture -> NC ->NC parameters->enhanced excellon format->closeManufacture -> NC -> NC Drill->auto tool select->optimize drill head travel9.CAM350如何正确导入钻带文件导进去后MACRO->PLAY->选择(CAM350--SCRIPTS)PADS_DRILL->选择钻带的REP文件还没测试过,rep文件从哪儿来的呢10.allegro 如何设置route keepin,package keepin1.setup->area->route keepin,package keepin ->画框2.edit ->z-copy->options->package keepin,route keepin->offset->50->点击外框11.allegro 中如何禁止显示shape完全禁止的方法没找到setup->user preference editor->display->display_shapefill->输入一个较大的数shape在显示时就不是那么显眼了set-user preference editor-shape-no shape fill(v)12.如何在allegro设置自定义元件库路径在下面两个位置添加自定义元件的路径Setup->User Preferences Editor->Design_paths->padpath Setup->User Preferences Editor->Design_paths->psmpath1.在allegro中如何修改线宽在Allegro的Setup->constraints里的set standard values中可定义每一层走线的宽度,比如,可以定义VCC和GND的线宽为10 Mil。
allegro skill FORM中ENUM的使用方法详解
FORM中ENUM的使用方法详解ALLEGRO FORM中ENUM也称为combo box 即组合框。
在FIELD中定义关键词ENUMSET来使用。
使用ENUM前,首先须定义POPUP。
可通过以下方式定义:1.在FORM文件中直接定义一个POPUP来指定ENUM的下拉列表。
比如:POPUP<Layer_Names>"TOP""TOP","GND02""GND02","POWER03""POWER03","BOTTOM""B OTTOM".该字段定义在TILE关键词前面。
2.当FORM文件已经加载,并显示出来。
此时我们可使用AXL函数axlFormBuildPopup 来定义下拉列表。
POPUP “<>”中的内容为POPUP的名称,比如上列中<Layer_Names>,我们可通过Layer_Names来调用该菜单;POPUP中单个选项的基本格式为display/dispatch,比如上例中的"TOP""TOP",其中display 为显示内容,而dispath为该选项的派遣值,即在FORM中,通过form->curValue获取到的值。
当然,这两个参数可以一致。
在FORM中,ENUM共有两种显示方式:1.单行显示,必须通过下拉列表来显示。
定义ENUMSET时,只需要指定其宽度即可。
请参考下面例子:FIELD LayerFLOC 1 1ENUMSET 11POP "Layer_Names"ENDFIELD显示效果如下:2.多行显示。
可显示POPUP中多个下拉选项。
通过指定ENUMSET的长宽来设置。
FIELD LayerFLOC 1 1ENUMSET 11 10POP "Layer_Names"ENDFIELD显示效果如下:例如,定义一个ENUM来获取当前所有ETCH层。
Allegro Skill详细安装及常用插件介绍指南
报告大纲1.安装技巧2.功能简介3.实例演示4.讨论反馈一、Stella的安裝1.新建Stella资料夹放*.il程式文件,如路径为C:\。
2.将Stella程序数据夹中的Menu中的内容copy到Allegro的安装目录中,如D:\Cadence\SPB_15.5.1\share\pcb\text\cuimenus中。
3.将Stella程序数据夹中env文件夹中Allegro .ilinit copy 至“Allegro工作路径”\pcbenv内。
4.新增环境变量Stella_skill 值为C:\Stella。
Stella的安裝(这里只介绍一种方法,都大同小异)1、新建Stella资料夹于C:\。
Stella文件夹主要用于放*.IL文件。
此文件夹名称和存放路径都可选。
Stella的安裝2、将Stella程序数据夹中的Menu中的内容copy到Allegro的安装目录中如D:\Cadence\SPB_15.5.1\share\pcb\text\c uimenus中。
实际上就是修改D:\Cadence\SPB_15.5.1\share\pcb\text\cuimenus文件夹中的allegro.men文件,增加菜单功能,增加一栏命令。
Stella的安裝POPUP "&Stella"BEGINMENUITEM "Align Symbol", "align_sym"MENUITEM "DRC Walker...", "drc walk"MENUITEM "Place Xrf", "skill xrfin"MENUITEM "Find Stubs", "find_stubs"MENUITEM "Find Dang Line/Cline", "find_dang"MENUITEM "Hilight Net without TP", "hl_ntp"MENUITEM "Hilight Via without Net", "hlvia"MENUITEM "Netlist Editor", "net_editor"MENUITEM "Mil To Mm", "conv"MENUITEM "Cal", "cal"MENUITEM "Clinecut", "clinecut"END此下面还可继续添加其它命令Stella的安裝三、将Stella程序数据夹中env文件夹中Allegro .ilinit copy 至C:\pcbenv内。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1Fanout... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1.1器件栅格定位处理Move Comps to Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1.2改变网络Fanout线宽Chang Fanout Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.3高亮没有Fanout SMD Hilight no Fanout All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1网格管理系统Grid system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2仿真基本设置指引Setup Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3快速层叠设置Auto Cross section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4mil与mm的单位转换Convert mil and mm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.5物理规则输入管理器Constraint Input System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4布局阶段辅助工具PLACEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2高级网络查找Super Net Finder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3查找器件和网络Find Comps or Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.4更新特定封装库Update Special Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.5波峰焊封装更换和恢复处理Wave Crest Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5布线阶段辅助程序ROUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1删除处理Delete... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15