本发明涉及电子设计自动化领域,具体提供一种Allegro软件中自动定位器件所在库路径的方法。
背景技术:
目前在电子业界有多款PCB设计软件,Allegro软件作为其中的一种,具有非常丰富而强大的功能。此软件使用独有的数据形式存储设计文件,并且每份设计文件都有相应的独立数据库支撑。数据库中主要有两类信息:物理信息和逻辑信息。Allegro软件的各种功能操作,都是对这个数据库的编辑和操作。同样的情况,使用软件提供的扩展Skill接口,也可以对此数据库进行编辑操作,从而实现一些程序没有提供的功能,提高Layout工作的效率。
在使用Allegro软件进行PCB设计,设计中需要检查或查看元器件封装。在PCB板中是无法直接打开器件封装查看的,通常我们的做法是查看元器件名称,然后再去封装库中查看封装。然而我们电脑中通常有多个封装库,要找到所要查看的器件封装需要多次访问不同路径的封装库,才能找到需要的器件封装,给设计工作带来诸多不便,从而浪费了大量的时间。
技术实现要素:
本发明的技术任务是针对上述现有技术的不足,提供一种方便快捷,准确率高的Allegro软件中自动定位器件所在库路径的方法。
本发明的技术任务是按以下方式实现的:一种Allegro软件中自动定位器件所在库路径的方法,其特点是通过Allegro软件的Skill接口,利用Allegro软件的专用语言实现自动定位器件所在库路径。
更为具体的说,上述方法包括以下步骤:
S1.修改Allegro软件的菜单栏文件,将其配置文件allegro.men放在Allegro软件安装路径下的\Cadence\SPB_16.5\share\pcb\text\cuimenus目录下;
S2. 修改Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下的allegro.ilinit文件,在其中添加一行代码如下:
load(“rm_nc_path.il”);
S3.将rm_nc_path.il文件放到Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下;
S4.在菜单栏中执行Symbol’s library path命令,显示器件所在库的路径。
与现有技术相比,本发明Allegro软件中自动定位器件所在库路径的方法具有以下突出的有益效果:
(一)不需要手动查看器件封装信息后,再去多次访问不同路径的封装库去寻找所需要的封装,可一键定位器件所在库路径即报告结果,方便快捷;
(二)能够保证路径查找的正确性,能有效提高layout工作效率及工作质量。
附图说明
图1为实施例中在Allegro软件中点击功能选项的界面图;
图2为实施例中点击器件并弹出封装库位置界面图;
图3为验证功能正确性界面图。
具体实施方式
下面将结合附图和实施例,对本发明的Allegro软件中自动定位器件所在库路径的方法作进一步详细说明。
本发明的Allegro软件中自动定位器件所在库路径的方法修改Allegro软件的部分配置文件,以达到必须的运行环境,从而对设计的后台数据库进行修改。附图1为实施Skill程序的原理示意:
1.首先修改Allegro软件的菜单栏文件,将其配置文件allegro.men放在Allegro软件安装路径下的\Cadence\SPB_16.5\share\pcb\text\cuimenus目录下。
此步骤的部分代码如下:
POPUP "&LayoutSkill"
BEGIN
POPUP "&Check"
BEGIN
MENUITEM " &Symbol’s library path", "rm_nc_path"
END
2.修改Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下的allegro.ilinit文件,在其中添加一行代码如下:
load(“rm_nc_path.il”)
3.将rm_nc_path.il文件放到Allegro安装路径下的Cadence\SPB_16.5\share\local\pcb\skill目录下。
4.在菜单栏中执行Symbol’s library path命令,即可显示器件所在库的路径。
功能核心部分(rm_nc_path.il文件)源代码如下:
BEGIN
POPUP "&Check"
BEGIN
MENUITEM " Symbol name &path no match user define",
MENUIREM "& Symbol’s library path ",
MENUITEM "&DRC walker",
MENUITEM " report patch match Symbol name",
END
##################################################################
axlCmdRegister("path" 'measure Symbol name)
(defun lcb_check path (@optional (args ""))
prog( ()
;; Check for command Symbol name arguments
if(args != "" then
;; display help file
axlUIWPrint(nil "")
axlUIWPrint(nil " - Displaying INFO information. -")
measure_info_createInfo()
return()
); endif
##################################################################
;setSkillPath(buildString(append1(getSkillPath() "%CDSROOT%\pcbenv\skill")))
;sstatus(fullPrecision t) ;
load("cal_start_name.il") ;;path & Symbol name calculator
load("Symbol name.il") ;; Symbol name place
load("check_name_segs.il") ;;Check vertex inside the library
load("checkpath.il") ;;Check library path
load("checkname.il") ;;Check Symbol name
load("conv.il") ;;Unit calcuator
load(COT.il) ;;Create oblong thermal flash
load("createmenu.il") ;;Create toolbar menu
完成上述修改配置后,在图1所示Allegro软件中工作区中的功能按钮,点击此按钮以后再点击需要定位的元器件后将弹出被点击的元器件的基本信息及库路径信息,如图2所示,此元器件的名称为:BGA576P1000VW250H028;其所在库路径为:E:\project\SAS卡及背板\背板\BRD\lib。
图3为功能验证,如图3所示,弹出的封装库位置准确无误。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。