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

📄 pdi_vis.il

📁 skill语言在Cadence平台二次开发中大量使用
💻 IL
📖 第 1 页 / 共 3 页
字号:
;===============================================================================;
;	pdi_vis.il - Display Visibility Control V2.1 for Allegro v11.0+		;
;-------------------------------------------------------------------------------;
; Install the routine in your allegro.ilinit file by adding load("pdi_vis.il")	;
; or by typing (load("pdi_vis.il")) at the Allegro prompt.			;
;										;
; Start the routine by typing 'etch visibility' at the Allegro prompt. 		;
;										;
; See the help button for credits and questions.				;
;-------------------------------------------------------------------------------;
;                              Modification History                             ;
;										;
; Ver 1.0	Released					09MAY96 - GHP	;
;										;
; Ver 2.0	Added "Plot" button to generate an IPF file			;
;		of the screen and call "allegro_plot" to			;
;		generate a plot.				20MAY96 - GHP	;
;
; Ver 2.1	Added DRC button				03JUN96 - GHP
;										;
;===============================================================================;
axlCmdRegister( "visibility" `pdiVisibility)

;===============================================;
;						;
; Main Routine - Called when program is started ;
;						;
;===============================================;
(defun pdiVisibility ()
  Pin_Control_Value=nil
  Via_Control_Value=nil
  Etch_Control_Value=nil
  DRC_Control_Value=nil
  TAssyControl_Value=nil
  BAssyControl_Value=nil
  TSilkControl_Value=nil
  BSilkControl_Value=nil
  TMaskControl_Value=nil
  BMaskControl_Value=nil
  TPasteControl_Value=nil
  BPasteControl_Value=nil
  TPgridControl_Value=nil
  BPgridControl_Value=nil
  KOControl_Value=nil
  EtchKO_Control_Value=nil
  Etch_Layers=(axlGetParam("paramLayerGroup:ETCH")->groupMembers)
  (foreach Layer Etch_Layers
    set(concat(Layer "_Control_Value") nil)
  ); end foreach Layer Etch_Layers
  (pdiVisForm)
  Form=axlFormCreate( (gensym) "pdiVis.form" '(e outer) 'pdiAction t)
  (axlFormDisplay Form)
); end defun pdiVisibility
 
;===============================================;
;						;
; Create the form file				;
;						;
;===============================================;
(defun pdiVisForm ()
  Num_Lay=0
  (foreach Item Etch_Layers
    Num_Lay=Num_Lay + 1
  ); end foreach Item Etch_Layers
  Port_Size=Num_Lay + 15
  Visibility_Control_Form=outfile("pdiVis.form" "w")
  (fprintf Visibility_Control_Form "FILE_TYPE=FORM_DEFN VERSION=2\n")
  (fprintf Visibility_Control_Form "FORM\n")
  (fprintf Visibility_Control_Form "FIXED\n")
  (fprintf Visibility_Control_Form "PORT 22 %d\n" Port_Size)
  (fprintf Visibility_Control_Form "HEADER \"Visibility\"\n")
  (fprintf Visibility_Control_Form "TILE\n")
  ;------------------------------;
  ; Set the Features Group       ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "GROUP \"Etch Features\"\n")
  (fprintf Visibility_Control_Form "GLOC 1 1\n")
  (fprintf Visibility_Control_Form "GSIZE 20 6\n")
  (fprintf Visibility_Control_Form "ENDGROUP\n")
  ;------------------------------;
  ; Set the "P" toggle button    ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD Pin_Control\n")
  (fprintf Visibility_Control_Form "FLOC 2 3\n")
  (fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
  (fprintf Visibility_Control_Form "CHECKLIST \"P\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the "V" toggle button    ;
  ;------------------------------; 
  (fprintf Visibility_Control_Form "FIELD Via_Control\n")
  (fprintf Visibility_Control_Form "FLOC 8 3\n")
  (fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
  (fprintf Visibility_Control_Form "CHECKLIST \"V\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the "E" toggle button    ;
  ;------------------------------; 
  (fprintf Visibility_Control_Form "FIELD Etch_Control\n")
  (fprintf Visibility_Control_Form "FLOC 14 3\n")
  (fprintf Visibility_Control_Form "FGROUP \"Etch Features\"\n")
  (fprintf Visibility_Control_Form "CHECKLIST \"E\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Keep-Out/In Button   ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD EtchKO_Control\n")
  (fprintf Visibility_Control_Form "FLOC 4 5\n")
  (fprintf Visibility_Control_Form "CHECKLIST \"KO\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the DRC Button		 ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD DRC_Control\n")
  (fprintf Visibility_Control_Form "FLOC 11 5\n")   
  (fprintf Visibility_Control_Form "CHECKLIST \"DRC\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")  
  ;------------------------------;
  ; Set the Layers Group         ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "GROUP \"Etch Layers\"\n")
  (fprintf Visibility_Control_Form "GLOC 1 7\n")
  (fprintf Visibility_Control_Form "GSIZE 20 %d\n" Num_Lay * 2 + 2 )
  (fprintf Visibility_Control_Form "ENDGROUP\n")
  ;-------------------------------; 
  ; Set the layer toggle buttons  ; 
  ;-------------------------------;
  Text_Loc=9
  (foreach Item Etch_Layers
    (fprintf Visibility_Control_Form "TEXT \"%s\"\n" Item)
    (fprintf Visibility_Control_Form "TLOC 5 %d\n" Text_Loc)
    (fprintf Visibility_Control_Form "ENDTEXT\n")
    (fprintf Visibility_Control_Form "FIELD %s_Control\n" Item)
    (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc)
    (fprintf Visibility_Control_Form "CHECKLIST\n")
    (fprintf Visibility_Control_Form "ENDFIELD\n")
    Text_Loc=Text_Loc + 2
  ); end foreach Item Etch_Layers
  ;------------------------------;
  ; Set the Non-Etch Group       ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "GROUP \"Non-Etch\"\n")
  (fprintf Visibility_Control_Form "GLOC 1 %d\n" Text_Loc)
  (fprintf Visibility_Control_Form "GSIZE 20 14\n")
  (fprintf Visibility_Control_Form "ENDGROUP\n")
  ;------------------------------; 
  ; Set the Assy Buttons         ; 
  ;------------------------------; 
  (fprintf Visibility_Control_Form "FIELD TAssyControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 2)
  (fprintf Visibility_Control_Form "CHECKLIST \"TAsy\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD BAssyControl\n")
  (fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 2)
  (fprintf Visibility_Control_Form "CHECKLIST \"BAsy\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------; 
  ; Set the Silk Buttons         ; 
  ;------------------------------; 
  (fprintf Visibility_Control_Form "FIELD TSilkControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 4)
  (fprintf Visibility_Control_Form "CHECKLIST \"TSlk\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD BSilkControl\n")
  (fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 4)
  (fprintf Visibility_Control_Form "CHECKLIST \"BSlk\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Mask Buttons         ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD TMaskControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 6)
  (fprintf Visibility_Control_Form "CHECKLIST \"TMsk\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD BMaskControl\n")
  (fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 6)
  (fprintf Visibility_Control_Form "CHECKLIST \"BMsk\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Paste Buttons        ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD TPasteControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 8)
  (fprintf Visibility_Control_Form "CHECKLIST \"TPst\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD BPasteControl\n")
  (fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 8)
  (fprintf Visibility_Control_Form "CHECKLIST \"BPst\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Place Grid Buttons   ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD TPgridControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 10)
  (fprintf Visibility_Control_Form "CHECKLIST \"TPgr\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD BPgridControl\n")
  (fprintf Visibility_Control_Form "FLOC 12 %d\n" Text_Loc + 10)
  (fprintf Visibility_Control_Form "CHECKLIST \"BPgr\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Keep-Out/In Button   ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD KOControl\n")
  (fprintf Visibility_Control_Form "FLOC 2 %d\n" Text_Loc + 12)
  (fprintf Visibility_Control_Form "CHECKLIST \"Keep Out/In\"\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  ;------------------------------;
  ; Set the Action Buttons       ;
  ;------------------------------;
  (fprintf Visibility_Control_Form "FIELD Refresh_Graphics\n")
  (fprintf Visibility_Control_Form "FLOC 1 %d\n" Text_Loc + 15)
  (fprintf Visibility_Control_Form "MENUBUTTON \"Refresh\" 10 3\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD PlotScreen\n")
  (fprintf Visibility_Control_Form "FLOC 11 %d\n" Text_Loc + 15)
  (fprintf Visibility_Control_Form "MENUBUTTON \"Plot\" 10 3\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD Quit\n")
  (fprintf Visibility_Control_Form "FLOC 1 %d\n" Text_Loc + 18)
  (fprintf Visibility_Control_Form "MENUBUTTON \"Quit\" 10 3\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "FIELD Help\n")
  (fprintf Visibility_Control_Form "FLOC 11 %d\n" Text_Loc + 18)
  (fprintf Visibility_Control_Form "MENUBUTTON \"Help!\" 10 3\n")
  (fprintf Visibility_Control_Form "ENDFIELD\n")
  (fprintf Visibility_Control_Form "ENDTILE\n")
  (fprintf Visibility_Control_Form "ENDFORM\n")
  close(Visibility_Control_Form)
 ); end defun pdiVisForm
 
;===============================================;
;						;
; Define the action of the form buttons		;
;						;
;===============================================;
(defun pdiAction (Visibility_Control_Form)
  (case Visibility_Control_Form->curField
    ("Help"
      pdiVisHelp()
    ); end "Help"
    ("Quit"
      (axlFormClose Visibility_Control_Form)
      (axlCancelEnterFun)
      (if isFile("pdiVis.form") then deleteFile("pdiVis.form"))
      nil
    ); end "Quit"
    ("Refresh_Graphics"
      pdiVisUpdate()
      t
    ); end "Refresh_Graphics"
    ("PlotScreen"
      pdiPlotScreen()
      t
    ); end "Refresh_Graphics"

⌨️ 快捷键说明

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