;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; File:         autoload
; CVS:          $Id: autoload,v 1.2 2003/11/14 14:00:43 behaghel Exp $
;
; Description:  file to load to get 'backend' menu
;
; Author:       Sbastien Cl.
; Created:      Feb 12 10:09 01
; Modified:     Feb 12 17:02 01 
; Language:     Skill
; Package:      Bks
; Status:       v1.0
;
; (C) Copyright 2001-2002, ST Microelectronics, all rights reserved.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

BksRootDir = "/home/apcher/skill/config/SKILL/skill_tool "
;BksRootDir = "/home/behaghel/CAD/backend_tools/working_BETools/skill_tool/"

BksCIWMenu.MenuList = '("menus"
			Schematics
			(
			   ( "Scan tool" "BksScan(getEditRep())" )
			   ( "Find tool"  "BksFind(getEditRep())" )
			   ( "Probe tool" "BksProbe(getEditRep())" )
			   ( "Count tool" "BksCountInstForm()" )
			   ( "Copper2Alu procedure" "BksChangeSchematicCu2Alu()" )
			   ( "Alu2Copper procedure" "BksChangeSchematicAlu2Cu()" )
			   ( "Cross Checker" "BksCrossCheck(\"\" getEditRep()~>libName getEditRep()~>cellName getEditRep()~>viewName)")
			)
			Abstract
			(
			   (  "Scan tool"  "BksScan(getEditRep())")
			   ( "Digital check"  "BksDigAbstractForm(getEditRep())" )
			   ( "Put label on pins" "BksPutLabelOnPins(getEditRep())")
			   (  "Remove changedLayer" "BksRemoveChangedLayer(getEditRep())" )
			   (  "Remove Hier changedLayer" "BksRemoveChangedLayerHier(geGetEditCellView())" )
			  
			)
			Layout
			(
			   ( "Scan tool" "BksScan(getEditRep())")
			   ( "Find tool" "BksFind(getEditRep())")
			   ( "Generate Abstract"  "BksGenAbstract(geGetWindowCellView())")
			   ( "Generate Abstract (SYNC)"  "BksGenAbstractSync(geGetWindowCellView())")
			   ( "Put label on pins" "BksPutLabelOnPins(getEditRep())")
			   ( "Transform symbolic to shape" "BksPinTransformSymbolicToShape()")
			   ( "Transform shape to symbolic" "BksPinTransformShapeToSymbolic()")
			   ( "Create pins from GDS" "BksCreatePinsFromGDS()")
			   ( "Select Pins from Terminal" "BksSelectPinsByTermName(getEditRep())")
                           ( "Delete markers" "BksDeleteMarkers(getEditRep())" )
			   ( "Remove changedLayer" "BksRemoveChangedLayer(getEditRep())" )
                           (  "Remove Hier changedLayer" "BksRemoveChangedLayerHier(geGetEditCellView())" )
                           ( "Change [] to <> in labels" "BksReplaceBracket(getEditRep())" )
			   ( "Calculate devices area" "BksCalcS(getEditRep())" )
                           ( "Calculate polygon area"  "BksPolyArea(getEditRep())" )
                           ( "Unalign RODs" "BksUnalignRod()")
                           ( "Destroy ROD paths" "BksDestroyRODPath(getEditRep()" )
                           ( "Run ICPack 2.1" "BksCreateICPackGDSIIForm(getEditRep())" )
                           ( "Run ICPack 3.x" "BksCreateICPack30GDSIIForm(getEditRep())" )
                           ( "Add Big Characters" "GNBaddChar()")
                           ( "Chop Power Rails" "BksCreateMetalSlots( getEditRep() )" )
			   ( "Create metal slots" "bdsHiGenerateHoleInShapeEnh()")
                           ( "Compile pShort pCell" "BksMakeShortPCell()")
                           ( "Ignore MPP pins" "foreach( shp setof( x getEditRep()~>shapes rodGetObj(x) && setof(j rodGetObj(x)~>subShapes j~>layerName == \"metal1\" && j~>pin ) ) car(setof(j rodGetObj(shp)~>subShapes j~>layerName == \"metal1\" && j~>pin && !j~>lxIgnore ))~>lxIgnore = t )" )
			   ( "Put layout on grid" "BksSetAllOnGrid(getEditRep())" )
                           ( "Add Ring path" "BksGuardRing(getEditRep())" )
                           ( "Add Ring around selected" "BksAddGuardRingAroundInstances()" )
			   ( "Metal density estimation" "CAmaskpercent_DKlf")
			   ( "Remove pipes" "BksRemovePipeFromTerm()")
			   ( "Replace Avanti vias" "BksRemoveAvantiVias()")
			   ( "Count tool" "BksCountInstForm()" )
			   ( "Copy COT Library" "BksCopyLibrary()")
			   ( "Copper to Alu procedure" "BksChangeLayoutCu2Alu()")
			   ( "Alu to Copper procedure" "BksChangeLayoutAlu2Cu()")
                           ( "Cut the shield" "BksCutViaShield(getEditRep())")
                           ( "Hierarchical remove tags" "BksRemoveTagsOnLayout(getEditRep())")
                           ( "Load Layout Bindkeys" "BksLayoutBindkeys()")
                           ( "Calculate path length" "BksPathLength()")
                           ( "Replace non-XL instances" "BksRemWrongConn()")
			)
			Floorplan
			(
			   ( "Scan tool" "BksScan(getEditRep())")
			   ( "Put label on pins" "BksPutLabelOnPins(getEditRep())")
			   ( "Select Pins from Terminal" "BksSelectPinsByTermName(getEditRep())")
                           ( "Align Pins (beta)" "BksAlignPins()" )
                           ( "Delete Global Pins" "BksDeleteAutoLayoutGlobalPin()" )
			)
		       )


let( (  root )
   
  ;; Skill directory depends on version
  l_version = parseString(getVersion()) 
  cond(
   ( member("5.0.0" l_version) || member("5.1.0" l_version)
     root =  strcat(BksRootDir "skill_500/")
     schSetEnv("viewNameList"    "schematic auGate_sch gate_sch gate.sch cmos_sch cmos.sch symbol")
     hiSetBindKey("Layout" "h" "lxHiShowIncNets()")
     hiSetBindKey("Layout" "L" "lxHiProbe()")
     hiSetBindKey("Layout" "Ctrl Shift<key>W" "leWeHiCreateWire()")
     hiSetBindKey("Layout" "Ctrl<key>m" "lxHiSwapComps()")
     hiSetBindKey("Layout" "Ctrl Shift<key>s" "leWeHiStretch()")

;; To correct a VXL bug: PCR#803906
;; When launching VXL from a top schematic, a lot of schematics are open in edit mode

     envSetVal("layoutXL" "lxSchExtractTopLevelOnly" 'boolean t)

;; End of workaround for PCR#803906


   )
   (member("4.4.6" l_version) || member("4.4.7" l_version)
     root =  strcat(BksRootDir "skill_446/")
;;********Added for the resistor Bug**********
     when(car(piGetInfo(getShellEnvVar("DKITROOT") "process"))=="hcmos9lp_HV_M4_5V0"
	BksCIWMenu.MenuList->Layout=cons(list("MSR10 Update resistor value" "BksConvertResistorToString()") BksCIWMenu.MenuList->Layout)
     )
   )
   ( t 
     root =  strcat(BksRootDir "skill_443/")
   ) 
  )


   ;; This shell should be available only for hcmos9a (technology dependant)

when(piGetInfo(getShellEnvVar("DKITROOT") "process")==list("hcmos9lp_HV_M4_5V0")
  hiSetBindKey("Layout" "<Key>F7" "DKmisc_slottedShield()")
  hiSetBindKey("Layout" "<Key>F8" "DKmisc_reportDensities()")
  hiSetBindKey("Layout" "<key>o" "if( boundp('BksContactList) then 
					BksleHiCreateContact() 
				else
					leHiCreateContact())")
)



  ;; Load the temporary files

;; While the problem with bicmos6g and ICC is not resolved, set the export vesion to 5 (instead of 11)
;; This fix was set for bicmos6G_9.2 and icc_11.1.33_usr3 and uniopus_5033usr31635
;; It should be removed as soon as the problem is fixed

envSetVal("iccTranslator" "exportVersion" 'int 5)

;; End of temporary fix

;  foreach(s_file setof(x getDirFiles(s_dir=strcat(BksRootDir "tmp/")) isFile(strcat(s_dir x)) && rexMatchp(".*.il$" x ))
;    load(strcat(s_dir s_file))
;  )

  ;; loads "generic" skill files

  load(strcat( root "BksMenus.il"))
  when(isFile(strcat( root "BksFilterMenus.il")) load(strcat( root "BksFilterMenus.il")))
  load(strcat( root "BksIcon.ile"))
  load(strcat( root "BksBindKeys.il"))

  load(strcat( root "BksChangeCu2Alu.il"))
  load(strcat( root "BksChangeAlu2Cu.il"))

  BksGenAbstract.autoload    =  strcat(root "BksGenAbstract.il")
  BksPutLabelOnPins.autoload    =  strcat(root "BksPutLabelOnPins.il")
  BksPinTransformSymbolicToShape.autoload = strcat(root "BksPinTransform.il")
  BksPinTransformShapeToSymbolic.autoload = strcat(root "BksPinTransform.il")
  BksPutLabelOnPads.autoload    =  strcat(root "BksPutLabelOnPads.il")
  BksDigAbstractForm.autoload    =  strcat(root "BksGenAbstract.il")
  BksScan.autoload               =  strcat(root "BksScan.il")
  BksAbout.autoload              =  strcat(root "BksAbout.ile")
  BksFind.autoload               =  strcat(root "BksFind.il")
  BksProbe.autoload              =  strcat(root "BksProbe.il")
  BksRemoveChangedLayer.autoload =  strcat(root "BksMisc.il")
  BksRemoveChangedLayerHier.autoload = strcat(root "BksMisc.il")
  BksCalcS.autoload              =  strcat(root "BksCalcSurface.il")
  BksPolyArea.autoload           =  strcat(root "BksCalcSurface.il")
  BksReplaceBracket.autoload     = strcat(root "BksUtil.il")
  BksDeleteAutoLayoutGlobalPin.autoload = strcat(root "BksUtil.il")
  BksSelectPinsByTermName.autoload =  strcat(root "BksUtil.il")
  BksUnalignRod.autoload         = strcat(root "BksMisc.il")
  BksAlignPins.autoload          = strcat(root "BksAlignPins.il")
  BksGetNitrideBbox.autoload     = strcat(root "BksPutLabelOnPads.il")
  BksCreateICPackGDSIIForm.autoload  = strcat(root "BksICpack.il" )
  BksCreateICPack30GDSIIForm.autoload  = strcat(root "BksICpack_3.0.il" )
  GNBaddChar.autoload            = strcat(root "GNBaddChar.il")
  BksProbeInh.autoload           = strcat(root "BksProbeInh.il")
  BksDeleteMarkers.autoload      = strcat(root "BksDeleteMarkers.il")	
  BksGuardRing.autoload          = strcat(root "BksGuardRingIII.il")
  BksDestroyRODPath.autoload     = strcat(root "BksDestroyRODPath.il" )
  BksMakeShortPCell.autoload     = strcat(root "BksParamShortPcell.il" )
  BksAddGuardRingAroundInstances.autoload = strcat(root "BksAddGuardRingAroundInstances.il")
  BksSetAllOnGrid.autoload       = strcat(root "BksUtil.il")
  BksCreateMetalSlots.autoload   = strcat(root "BksCreateMetalSlots.il" )
  BksConvertResistorToString.autoload = strcat(root "BksResistorBug.il")
  CAmaskpercent_DKlf.autoload = strcat(root "CAmaskpercent_DKlf.il")
  BksRemovePipeFromTerm.autoload = strcat(root "BksRemovePipeFromTerm.il")
  BksRemoveAvantiVias.autoload = strcat(root "BksReplaceAvantiVias.il")
  BksCountInstForm.autoload = strcat(root "BksCountInst.il")
  BksCopyLibrary.autoload = strcat(root "BksCopyCotLibrary.il")
  BksClickGenius.autoload = strcat(root "BksClickGenius.il")
  DKmisc_reportDensities.autoload = strcat(root "BksslotGenerator.il")
  DKmisc_slottedShield.autoload = strcat(root "BksslotGenerator.il")
  BksCrossCheck.autoload = strcat(root "BksCrossCheck.il")
  bdsHiGenerateHoleInShapeEnh.autoload = strcat(root "BksCutPolyRectEnh.il")
  BksleHiCreateContact.autoload = strcat(root "BksleHiCreateContact.il")
  BksGenFullAbstractSync.autoload = strcat(root "BksGenAbstract.il")
  BksCreatePinsFromGDS.autoload = strcat(root "BksCreatePinsFromGDS.il")
  BksGenAbstractSync.autoload = strcat(root "BksGenAbstract.il")
  BksCutViaShield.autoload = strcat( root "BksCutViaShield.il")
  BksRemoveTagsOnLayout.autoload = strcat( root "BksRemoveTagsOnLayout.il") 
  BksLayoutBindkeys.autoload = strcat( root "BksLayoutBindkeys.il") 
  BksPathLength.autoload = strcat( root "BksPathLength.il")
  BksRemWrongConn.autoload = strcat( root "BksRemWrongConn.il")

  ;; loads menus customization if file exists
  when(isFile(".BksMenuFilter") BksFilterLoadInit(".BksMenuFilter"))

) ; ** let **
