⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net_editor.il

📁 skill语言在Cadence平台二次开发中大量使用
💻 IL
📖 第 1 页 / 共 5 页
字号:
; Interactive Net List Editor
; Revision 0: March 18,1994
; written by:
;               Edward B. Acheson
;               Sr. Benchmark Systems Engineer
;               Cadence Design Systems
;               Chelmsford Mass.
;
;Description:
;        This SKILL file will allow the user to interactivly Pick
;       Nets, pins, or components to alter the netlist. Nets may
;       be deleted or added. Pins may be deleted, added, or changed.
;       Components may be Deleted or Added.
;        Selection of pins, nets, or Packages may also be made by
;       selecting the appropriate option in the popup form.

;Limitations:
;        Information input to the design is through an incremental
;       net list. Care should be taken if the board design is associated
;       with a schematic.
;        All Package input assumes the use of device files. When a package is
;       input, the device file is sought for, and if a symbol name is entered,
;       the symbol is also sought for. Reference designators are verified for
;       duplication, but only for placed and current input list of reference
;       designators. Unplaced reference designators may cause errors.

;Execution:
;        Locate this file (net_editor.il) in the directory path where all other
;       skill routines are located. In the allegro.ilinit file include the line
;       load("net_editor.il")
;       To Execute the command in the Allegro command window enter net_editor
;
;
;
;Revision 1: October 22, 1999
;		Modified to work with Allegro 13.x
;		Changed $done to $end
;
;Revision 2: November 9, 2001
;		Modified to work with the newer Import Logic form 
;		that was introduced in 13.6.
;		Also added some code that stops Allegro from
;		zooming to the world view when done.
;		This code does not work in 14.x. Use the built in
;		net editing capability of version 14.
;
axlCmdRegister( "net_editor" `_INEStart )
;
;
;===========================The Start Up Command ===============================

;This Segment Starts up the form call to Select the net edit options
;-------------------------------------------------------------------------------
defun( _INEStart ()
        unless( isFile("iane_start_up.form") _INEMakeFormFile())
        pingrp = nil
        _INEStartForm()
); enddefun
;============================Startup Form Call =================================
;This segment defines the form dbid, location and call back parameter
;-------------------------------------------------------------------------------
defun( _INEStartForm ()
prog( ()
        when( axlOKToProceed()
        form = nil
        form = axlFormCreate( (gensym) "iane_start_up.form" '(e outer)
                `_INEStartCallBk t)
        _INESFormPtr = form
        axlFormDisplay( form)
);end-when
);end-prog
);enddefun
;============================Form Call Back Commands ==========================
;       This is where the commands are called from the edit net form
;------------------------------------------------------------------------------
defun( _INEStartCallBk (form)
        case( get( _INESFormPtr 'curField)
                ( "addnet" _INENew_Net_Commands() )
                ( "delnet" _INEDel_Net_Commands() )
                ( "delpin" _INEDel_Pin_Commands() )
                ( "addpin" _INEAdd_Pin_Commands() )
                ( "chgpin" _INEChg_Pin_Commands() )
                ( "addpkg" _INEAdd_Pkg_Commands() )
                ( "delpkg" _INEDel_Pkg_Commands() )
                ( "adone" _INECancel() )
        );endcase
);enddefun
;============================Form Call Back Commands ==========================
;       This is where the commands are called from the add Package form
;------------------------------------------------------------------------------
defun( _INEPackCallBack (pform)
        case( get( _INESFormPtr 'curField)
                ( "newrefdes" putprop( _INEPackData get(_INESFormPtr 'curValue) 'newrefdes))
                ( "devfile" putprop( _INEPackData get(_INESFormPtr 'curValue) 'devfile))
                ( "newpkg" putprop( _INEPackData get(_INESFormPtr 'curValue) 'newpkg))
                ( "cmpval" putprop( _INEPackData get(_INESFormPtr 'curValue) 'cmpval))
                ( "cmptol" putprop( _INEPackData get(_INESFormPtr 'curValue) 'cmptol))
                ( "done" _INEMk_Add_Pack_Done() )
                ( "cancel" _INEACancel() )
                ( "nextone" _INEMk_Add_Pack_File() )
        );endcase
);enddefun
;==============================================================================
;===================================Popup Defenitions =========================
;==============================================================================
;-------------------------------Popupaddnet------------------------------------
; this popup is used for selecting pins to add to a net.
;------------------------------------------------------------------------------
defun( _INEPopUpAddNet ()
        popupaddnet = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEAddNetnameIN)
                (list "Complete" '_INEAddNetPinCompl)
                (list "Oops" '_INEOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupaddnet)
);enddefun
;-------------------------------Popupdelnet------------------------------------
; this popup is used for selecting pins to add to a net.
;------------------------------------------------------------------------------
defun( _INEPopUpDelNet ()
        popupdlenet = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEDelNetname)
                (list "Oops" '_INEDelOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupdlenet)
);enddefun
;-------------------------------Popupdelpin------------------------------------
; this popup is used for selecting pins to add to a net.
;------------------------------------------------------------------------------
defun( _INEPopUpDelPin ()
        popupdelpin = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEDelPinName)
                (list "Oops" '_INEOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupdelpin)
);enddefun
;-------------------------------Popupaddpin------------------------------------
; this popup is used for selecting pins to add to a net.
;------------------------------------------------------------------------------
defun( _INEPopUpAddPin ()
        popupaddpin = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEAdd_Pin_Name)
                (list "Oops" '_INEOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupaddpin)
);enddefun
;-------------------------------Popupaddpinnetname-----------------------------
; this popup is used for selecting net name to add pins to a net.
;------------------------------------------------------------------------------
defun( _INEPopUpAddPinNet ()
        popupadpnnm = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEAddPinNetName)
                (list "Oops" '_INEPinOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupadpnnm)
);enddefun
;-------------------------------Popupchgpin------------------------------------
; this popup is used for selecting pins to Change a net on a pin.
;------------------------------------------------------------------------------
defun( _INEPopUpChgPin ()
        popupaddpin = axlUIPopupDefine( nil (list
                (list "Select By Name" '_INEChg_Pin_Name)
                (list "Oops" '_INEPinOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupaddpin)
);enddefun
;-------------------------------Popupdelpkg------------------------------------
; this popup is used for selecting pins to Change a net on a pin.
;------------------------------------------------------------------------------
defun( _INEPopUpDelPkg ()
        popupdelpkg = axlUIPopupDefine( nil (list
                (list "Delete By RefDes Name" '_INEDel_Pkg_Name)
                (list "Oops" '_INEPkgOops)
                (list "Cancel" '_INECancel)
        ))
        axlUIPopupSet( popupdelpkg)
);enddefun
;===============================================================================
;===============================Common Init Variables===========================
;===============================================================================
defun( _INEInitVar ()
prog( ()
        allfound = nil
        ooped = nil
        doneit = nil
        pingrp = nil
        oktorun = nil
        axlUIPopupSet(nil)
        axlClearSelSet()
);endprog
);enddefun
;================================================================================
;=================================== Common Escape Functions ====================
;================================================================================
;-----------------------------------Cancel--------------------------------------
defun( _INECancel ()
prog( ()
        axlCancelEnterFun()
        axlFormClose( _INESFormPtr )
        axlClearSelSet()
        axlUIPopupSet(nil)
        axlFlushDisplay()
        setq( doneit t )
        setq( stpprocess t)
        setq( pingrp nil)
        setq( ooped t)
        setq( allfound t)
        when( isFile("iane_start_up.form") deleteFile("iane_start_up.form"))
        when( isFile("iane_add_package.form") deleteFile("iane_add_package.form"))
        return(nil)
);endprog
);enddefun
;-----------------------------------Ooops----------------------------------------
defun( _INEOops ()
prog( ()
        if(pingrp != nil then
                axlDehighlightObject( car(pingrp))
                pingrp = cdr(pingrp)
        else
                axlMsgPut(" Nothing Left To Oops!!!")
                axlCancelEnterFun()
                ooped = t
                allfound = t
                pingrp = nil
                axlUIPopupSet(nil)
        );endif
        return(pingrp)
);endprog
);enddfun
;-----------------------------Delete Ooops --------------------------------------
defun( _INEDelOops ()
prog( ()
        axlCancelEnterFun()
        doneit = t
        allfound = t
        netpickid = nil
        ooped = t
);endprog
);enddfun
;-----------------------------Pin Add Ooops --------------------------------------
defun( _INEPinOops ()
prog( ()
        when(pingrp == nil allfound = t)
        axlDehighlightObject( car(pingrp))
        axlCancelEnterFun()
        pinfound = nil
        pingrp = nil
        ooped = t
);endprog
);enddfun
;-----------------------------Pkg Del Ooops --------------------------------------
defun( _INEPkgOops ()
prog( ()
        axlCancelEnterFun()
        allfound = t
        pkgfound = nil
        ooped = t
);endprog
);enddfun
;-----------------------------------Add Pin Name input-----------------------------
defun( _INEAddNetnameIN ()
prog( ()
        axlCancelEnterFun()
        setq( picknet nil)
);endprog
);enddefun
;-----------------------------------Add Pin Complete ------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -