📄 net_editor.il
字号:
; 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 + -