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.
