Hello all,

Talking about bugs, I also noticed that in Electric 8.10, exporting the
schematics as postscript doesn't work. I get NullPointerException. It used
to work in Electric 8.09. Here is the log file output:

Menu Activated: File | Export | PostScript...
--------------- 2804 --------------
  Thu Jan 28 12:16:44 PST 2010
java.lang.NullPointerException
at
com.sun.electric.tool.io.output.PostScript.showCellPorts(PostScript.java:903)
at
com.sun.electric.tool.io.output.PostScript.recurseCircuitLevel(PostScript.java:756)
at
com.sun.electric.tool.io.output.PostScript.scanCircuit(PostScript.java:646)
at
com.sun.electric.tool.io.output.PostScript.writeCellToFile(PostScript.java:248)
at com.sun.electric.tool.io.output.PostScript.access$100(PostScript.java:68)
at
com.sun.electric.tool.io.output.PostScript$PostScriptPreferences.doOutput(PostScript.java:198)
at
com.sun.electric.tool.io.output.Output$OutputCellInfo.doIt(Output.java:190)
at com.sun.electric.tool.EThread.run(EThread.java:121)

-Nav

On Thu, Jan 28, 2010 at 9:53 AM, Steven Rubin <[email protected]>wrote:

> At 04:52 PM 1/27/2010, you wrote:
>
>> I'm using Electric 8.10 on Snow Leopard 10.6.2 with Java version
>> 1.6.0_17.
>>
>> I do the following in Electric
>>
>> 1. Edit -> Technology Specific -> Convert Technology to Library for
>> Editing for mocmos
>> 2. Then I click on technology nodes and select say node-Metal-1-N-
>> Active-Con{lay}.
>> 3. Then I go Edit -> Technology Specific ->  Identify Primitive layers
>> or Identify Ports
>>
>> I get "Analysis Failure:
>>
>> Cell node-Metal-1-N-Active-Con{lay}, node filled-box[...@3]: Node has
>> no layer information
>>
>> However, this series of steps work OK in Electric 8.09 and show the
>> various layers that are present (they're highlighted with white
>> lines). I believe this is a bug in 8.10.
>>
>> Hopefully this can be fixed or a patch can be made available?
>>
>
> The simple patch is to replace the method "getLayerCell()" in the module:
>       com.sun.electric.tool.user.tecEdit.Manipulate.java
>
> The code should be:
> --------------------------------------------------
> static Cell getLayerCell(NodeInst ni)
> {
>   Variable var = ni.getVar(Info.LAYER_KEY);
>   if (var == null) return null;
>   CellId cID = (CellId)var.getObject();
>   Cell clientCell = EDatabase.clientDatabase().getCell(cID);
>   Cell cell = EDatabase.serverDatabase().getCell(cID);
>   if (clientCell != null || cell != null)
>   {
>      // validate the reference
>      for(Iterator<Cell> it = ni.getParent().getLibrary().getCells();
> it.hasNext(); )
>      {
>         Cell oCell = it.next();
>         if (oCell == cell || oCell == clientCell) return oCell;
>      }
>   }
>   System.out.println("Layer " + cID.cellName + " not found");
>   return null;
> }
> --------------------------------------------------
> However, your bug report uncovers other problems in that same module.  To
> fix these other problems, make these patches:
>
> In the "doIt()" method of the RedoLayerGraphicsJob subclass, change the
> lines:
> --------------------------------------------------
> Variable varLay = cNi.getVar(Info.LAYER_KEY);
> if (varLay == null) continue;
> CellId cID = (CellId)varLay.getObject();
> Cell varCell = EDatabase.serverDatabase().getCell(cID);
> --------------------------------------------------
> to be:
> --------------------------------------------------
> Cell varCell = getLayerCell(cNi);
> --------------------------------------------------
>
>
> In the "deletedCell()" method, change the lines:
> --------------------------------------------------
> Variable var = ni.getVar(Info.LAYER_KEY);
> if (var == null) continue;
> CellId cID = (CellId)var.getObject();
> Cell varCell = EDatabase.serverDatabase().getCell(cID);
> --------------------------------------------------
> to be:
> --------------------------------------------------
> Cell varCell = getLayerCell(ni);
> --------------------------------------------------
>
> And in the "modPort()" method, change the line:
> --------------------------------------------------
> connectSet.add(EDatabase.serverDatabase().getCell(connects[i]));
> --------------------------------------------------
> to be:
> --------------------------------------------------
> connectSet.add(EDatabase.clientDatabase().getCell(connects[i]));
> --------------------------------------------------
>
> Sorry for the complexity.  If you wish to have a new copy of the entire
> module, let me know and I will send it to you.
>
>   -Steven Rubin
> --
> You received this message because you are subscribed to the Google Groups
> "Electric VLSI Editor" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<electricvlsi%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/electricvlsi?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Electric VLSI Editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/electricvlsi?hl=en.

Reply via email to