Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all articles
Browse latest Browse all 5066

Question about create wire in schematic with SKILL

$
0
0

Hi, Cadence Family

I have a question about create wire in schematic with SKILL.

I have created the schematic named "test" where I have 1 cell ( with two port named "src" and "dst") and 1 pin which connected to the "src" port by schCreateWire.

When I directly open the "test" cell in read-only, it look fine. 

But if I add the "test" cell in another schematic then descend it, the wire which created by schCreateWire disappeard.

But the connectivity info still there.

How could I do to keep the wire there?

I would appreciate it if any one could guide me a little ~

Virtuoso version IC6.1.7-64b.500.21

Here is my code:

let((library pcellId)
  library="test"
  cell="test"
  unless(ddGetObj(library) error("Couldn't open library %L" library))
  ;Schematic
  pcellId=pcDefinePCell(
    list(ddGetObj(library) cell "schematic" "schematic")
    ;Formal parameters
    ( (uLib1 "basic") )
    ;Build itself
    let(()
      pcCV=pcCellView
      netPadId=dbCreateNet(pcCV "PAD")
      masterIopinCv=dbOpenCellViewByType(uLib1 "iopin" "symbolr" nil "r")
      PadId=schCreatePin(pcCV masterIopinCv "PAD" "inputOutput" nil -0.2:0 "R0")

      masterCv=dbOpenCellViewByType(uLib1 "cds_thru" "symbol" nil "r")
      instId=dbCreateInst(pcCV masterCv "X1" (0:0) "R0" 1)
      dbCreateInstTerm(netPadId instId dbFindTermByName(masterCv "src"))

      dbCreateConnByName(netPadId instId "src")

      ;PAD
      pinSrc=centerBox(car(dbFindTermByName(masterCv "src")->pins)->fig->bBox)
      padId=schCreateWire(pcCV "route" " full" list(pinSrc list(-0.25 0)) 0.0625 0.0625 0)
      schCreateWireLabel(pcCV car(padId) list(plus((xCoord pinSrc) -0.0625) plus((yCoord pinSrc) 0.0625)) "PAD" "lowerRight" "r0" "stick" 0.0625 nil)

      dbClose(masterIopinCv)
      dbClose(masterCv)
      t
    );end let
  );end pcDefinePCell
  dbSetConnCurrent(pcellId)
  schCheck(pcellId)
  dbSave(pcellId) dbClose(pcellId)

  ;Symbol
  pcellId=pcDefinePCell(
    list(ddGetObj(library) cell "symbol" "schematicSymbol")
    ;Formal parameters
    ()
    let(()
      pcCV=pcCellView
      dbCreateRect(pcCV list("text" "drawing") list(0.125:0 0.875:0.5))
      dbCreateRect(pcCV list("instance" "drawing") list(0:0 1:0.5))
    );end let
  );end pcDefinePCell
  dbSave(pcellId) dbClose(pcellId)

);let


Viewing all articles
Browse latest Browse all 5066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>