本发明涉及Allegro软件开发技术领域,具体涉及一种Allegro软件中自动赋予via某net属性的方法。
背景技术:
目前在电子业界有多款PCB设计软件,Allegro软件作为其中的一种,具有非常丰富而强大的功能。此软件使用独有的数据形式存储设计文件,并且每份设计文件都有相应的独立数据库支撑。数据库中主要有两类信息:物理信息和逻辑信息。Allegro软件的各种功能操作,都是对这个数据库的编辑和操作。同样的情况,使用软件提供的扩展Skill接口,也可以对此数据库进行编辑操作,从而实现一些程序没有提供的功能,提高Layout工作的效率。
在使用Allegro软件进行PCB设计时,在仅删除一条net中的clines而不删除via时,via的属性会自动变为有连接的内层属性或变为null net;在PCB设计时,via需要改变net属性时,我们通常的做法是删掉via后重新打上需要的属性的via。如此反复,会增加工程师很多繁琐的工作量,尤其是遇到一大片需要赋予某电源属性的vias时,一个能快速自动赋予unconnected via某net属性的方法显得尤为方便。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种Allegro软件中自动赋予via某net属性的方法。
本发明所采用的技术方案为:
一种Allegro软件中自动赋予via某net属性的方法,所述方法通过Allegro软件的Skill接口,通过修改Allegro软件的菜单栏文件,在软件启动时候自动载入skill程序,运行时在菜单栏中执行调用命令,从而对设计的后台数据库进行修改,实现自动创建特定宽度的板边铜。
所述菜单栏文件修改过程如下:通过将菜单栏配置文件allegro.men放在Allegro安装路径下的\Cadence\SPB_16.5\share\pcb\text\cuimenus目录下,该目录存放allegro软件的菜单配置文件,通过修改代码可以修改软件的菜单界面。
通过修改Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下的allegro.ilinit文件,在软件启动时候自动载入skill程序,不用在软件中手动启用,可以直接输入命令调用。
在allegro.ilinit文件中添加一行代码如下:load(“rm_nc_via.il”),该功能为skill的初始化文件。
所述方法具体操作时,执行调用命令后,先选中某net属性后,点击需要赋予net属性的vias。
本发明的有益效果为:
本发明方法方便快捷,保证正确性,能有效提高layout工作效率,不需要手动删除via后再重新打上需要的属性的via,即可自动赋予via所需要的net属性。
附图说明
图1为实施Skill程序的原理示意图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
所述方法通过修改软件的部分配置文件,以达到必须的运行环境,从而对设计的后台数据库进行修改,如图1所示,为实施Skill程序的原理示意图。
所述方法实现步骤如下:
1.首先修改Allegro软件的菜单栏文件,将其配置文件allegro.men放在Allegro安装路径下的\Cadence\SPB_16.5\share\pcb\text\cuimenus目录下(该目录存放allegro软件的菜单配置文件,通过修改代码可以修改软件的菜单界面)。
此步骤的部分代码如下:
POPUP "&LayoutSkill"
BEGIN
POPUP "&Shape,Trace and Via"
BEGIN
MENUITEM " &Give vias a net property", "rm_nc_via"
END
该部分为添加软件菜单的命令。第一个POPUP为一级菜单,第二个POPUP为二级菜单,然后MENUITEM为菜单中的显示命令。
2.修改Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下的allegro.ilinit文件,在其中添加一行代码如下:load(“rm_nc_via.il”),该部分的功能为skill的初始化文件,可以在软件启动时候自动载入skill程序,不用在软件中手动启用,即可以直接输入命令调用。
3.将Give vias a net property.il文件放到Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下,即将写好的skill文件放到软件的调用目录下。
4.在菜单栏中执行Give vias a net property命令,即可实现本发明描述的功能。
本发明功能核心部分源代码如下:
BEGIN
POPUP "& Shape,Trace and Via "
BEGIN
MENUITEM "via &clineseg no match user define",
MENUIREM "&Board size",
MENUITEM "&DRC walker",
MENUITEM " Give vias a net property",
END
##################################################################
axlCmdRegister("vias" 'copy vias)
(defun lcb_check vias (@optional (args ""))
prog( ()
;; Check for command line arguments
if(args != "" then
;; display help file
axlUIWPrint(nil "")
axlUIWPrint(nil " - Displaying INFO information. -")
cwidth_info_createInfo()
return()
); endif
##################################################################
;setSkillPath(buildString(append1(getSkillPath() "%CDSROOT%\pcbenv\skill")))
;sstatus(fullPrecision t) ;
load("pdi_vias.il") ;;Etch Visbility
load("replace_update_via.il") ;; Replace Vias
Padstack
load("replace_via.il") ;;Update a Via
load("rm_nc_via.il") ;; Give vias a net property
load("shape_push.il") ;; Copy Shap to another layer
load("show_library.il") ;;List symbol’s library path
load("unfixall.il") ;;Delete inherence fix
property
load("s1001.il") ;;Check text rotation
执行命令Give vias a net property后,先选中某net属性后,点击需要赋予net属性的vias。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。