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

Try to create bus by dbCreateNet in PCell

$
0
0

Hi, Cadence Family

Is dbCreateNet only for one bit net? Cannot for bus?

I've created nets like IN<3:0> and try to assign IN<3> to pin "S" of mos, but it's not work.

Here is my code

let((library pcellId)
  library="test"

  unless(ddGetObj(library) error("Couldn't open library %L" library))
  ;{{{Schematic
  pcellId=pcDefinePCell(
    list(ddGetObj(library) "test" "schematic" "schematic")
    ;Formal parameters
    (
    )

    ;Build itself
    let((pcCV tsx tsy instId)
      pcCV=pcCellView
  tsx=0.0625 ;x space
  tsy=0.04375 ;y space
  masterIopinCv=dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
  masterIpinCv=dbOpenCellViewByType("basic" "ipin" "symbol" nil "r")
  masterOpinCv=dbOpenCellViewByType("basic" "opin" "symbol" nil "r")
  dbCreatePin(dbCreateNet(pcCV "VPP") dbCreateInst(pcCV masterIopinCv "VPP" 1-tsx:1 "R0"))
  dbCreatePin(dbCreateNet(pcCV "IN<3:0>") dbCreateInst(pcCV masterIpinCv "IN<3:0>" 1:0.875 "R0"))
  dbFindNetByName(pcCV "VPP")->term->direction="inputOutput"
       dbFindNetByName(pcCV "IN<3:0>")->term->direction="input"

  masterCv=dbOpenCellViewByType("analogLib" "nmos4" "symbol" nil "r")
  setq(x 1.5) setq(y 1)
  instId=dbCreateInst(pcCV masterCv "MN0" (x:y) "R270" 1)
  dbCreateInstTerm(dbFindNetByName(pcCV "VPP") instId dbFindTermByName(masterCv "B"))
       dbCreateInstTerm(dbFindNetByName(pcCV "IN<3>") instId dbFindTermByName(masterCv "S"))


  dbClose(masterIopinCv)
  dbClose(masterIpinCv)
  dbClose(masterOpinCv)
  dbClose(masterCv)
  t
  );end let
  );}}}end pcDefinePCell
  dbSave(pcellId) dbClose(pcellId)
);let

Your help will be appreciated.

Virtuoso version IC6.1.7-64b.500.21


Viewing all articles
Browse latest Browse all 5066

Trending Articles



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