Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all articles
Browse latest Browse all 4899

nlSetPcellName for a resistor

$
0
0

Hi Andrew:

I had lines below in a libInitCustomExit.il file

;; Adds a random number and time-stamp to the end of the mdoule name of subcircuits.
pcellNameTable = makeTable("PcellNameTable" nil)
procedure( nlSetPcellName( cv paramNames paramValues )
  let( ( tmpStr )
  if( pcellNameTable[cv]
    then
       sprintf(tmpStr "%s" pcellNameTable[cv])
    else
       sprintf(tmpStr "%s_pcell%d%d" cv->cellName random() stringToTime(getCurrentTime()))
       pcellNameTable[cv] = tmpStr
    )
  tmpStr
  )
) ; procedure ** nlSetPcellName **

Here are the netlist it generated from a resistor.

subckt ppolyf_u_pcell1575840381553782469 PLUS MINUS B
parameters segL=2u segW=2u
    R0 (PLUS MINUS B) ppolyf_u l=segL w=segW
ends ppolyf_u_pcell1575840381553782469
// End of subcircuit definition.

R2 (net03 net02 net01) ppolyf_u_pcell890174431553784620 m=1 segL=2u   segW=2u
        
As you can see: ppolyf_u_pcell890174431553784620 and ppolyf_u_pcell1575840381553782469
are not the same.It will report an error in spectre simulation.

I want to change the code, then it does not add random number but a fix number.
For eg:
R2 (net03 net02 net01) ppolyf_u_pcell_0 m=1 segL=2u segW=2u
        
Then I can ignore

subckt ppolyf_u_pcell1575840381553782469 PLUS MINUS B
parameters segL=2u segW=2u
    R0 (PLUS MINUS B) ppolyf_u l=segL w=segW
ends ppolyf_u_pcell1575840381553782469

and include a definition:

subckt ppolyf_u_pcell_0 PLUS MINUS B
parameters segL=2u segW=2u
    R0 (PLUS MINUS B) ppolyf_u l=segL w=segW
ends ppolyf_u_pcell1575840381553782469
// End of subcircuit definition.

So there will be no error when I run spectre.

How can I change the skill code ?


Viewing all articles
Browse latest Browse all 4899

Trending Articles



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