bug-gnu-electric
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ImmutablePortInst.getExports()


From: Dmitry . Nadezhin
Subject: Re: ImmutablePortInst.getExports()
Date: Thu, 09 Jul 2009 23:17:40 +0400

Hi Adam,

Glad to hear you.

Neither ImmutableNodeInst nor ImmutablePortInst know
about their Exports. Exports are contained in CellBackup.

AbstractShapeBuilder has field CellBackup.Memoization m;
The method m.getExports(originalNodeId) will return an Iterator
over ImmutableExports connected to this NodeId in the CellBackup.

The m.getExports method is rather expensive. So I suggest to put
your code into Schematics.genShapeOfNode instead of 
AbstractShapeBuilder.genShapeOfNode.
Let keep code in AbstractShapeBuilder simple and fast.

Sorry for late answer. I will be more accessible after July 13.

  -Dima

----- Original Message -----
From: Adam Megacz <address@hidden>
Date: Wednesday, July 8, 2009 2:25 am
Subject: ImmutablePortInst.getExports()

> 
> Gilda suggested reposting this here for broader discussion.
> 
> After talking a bit more with Steve, it looks like this is a feature
> which ought to be in ImmutablePortInst, but simply hasn't been
> implemented yet.  Moreover, it should be possible to reconstruct the
> necessary data without changing the on-disk format.  I will start
> looking into how that can be done.
> 
>  - a
> 
> ______________________________________________________________________________
> From: Adam Megacz <address@hidden>
> Subject: 
> To: address@hidden
> Date: Mon, 6 Jul 2009 19:24:01 -0700
> 
> Hi Dmitry!
> 
> I don't think we've met.  I'm Adam; I'm a student in the VLSI group at
> Sun Labs.  We just finished taping out a test chip (Marina), and now
> I've got time to work on Electric a bit.  In order to familiarize
> myself with the code, I'm implementing a few simple features we
> thought of while working on Marina.
> 
> One thing that caused us some problems was the fact that many of our
> tools insist that the PortCharacteristics on Exports be set correctly
> (mostly input/output/bidirectional).  Because design and testing are
> done [mostly] by different people it helps if we can make any mistakes
> as visually obvious as possible, to minimize the number of "round
> trips" between QA and design.  If it's possible, I would like to
> modify the visual rendering of the "off page connection" primitive in
> the schematic technology so that it is drawn with one pointy end 
> and a
> small mark on the flat side if its PortCharacteristic is OUTPUT, on
> the pointy side if its PortCharacteristic is INPUT, and with two
> pointy ends when its PortCharacteristic is BIDIRECTIONAL.
> 
> Anyways, this was all sort of a long-winded way of explaining my
> situation: I've implemented all the code necessary to do this, except
> for one problem.  I added a field to Technology.NodeLayer so a
> NodeLayer can be designated "invisible unless PortCharacteristic=X",
> and added additional layers with this designation to
> Schematics.offpageNode.  Then I modified
> AbstractShapeBuilder.genShapeOfNode() so that it would refrain from
> producing Poly(gons) for certain layers.  The problem arose when I
> tried to add the logic to determine which layers it should refrain
> from producing Polys for.  Unfortunately, genShapeOfNode() is passed
> an ImmutableNodeInst.  From that ImmutableNodeInst I can get an
> ImmutablePortInst, but unfortunately the ImmutablePortInst doesn't let
> me get to the ImmutableExport objects -- unlike PortInst, which lets
> me call getExports().  Also, ImmutableExport doesn't include a field
> of type PortCharacteristic (although I didn't have much trouble adding
> one).
> 
> Can you advise me on how to proceed here?  Is there a way to get the
> ImmutableExports that go with an ImmutablePortInst?  I tried modifying
> the ImmutablePortInst() constructor to take an ImmutableExport[] as an
> argument (much like ImmutableNodeInst takes an ImmutablePortInst[] as
> an argument), but then it seems that ImmutablePortInst.read() would
> have to be changed, including the serialization format -- which is
> probably not a wise idea.
> 
> Also, Steve mentioned that my plan might run into trouble with the
> VectorCache.  Is the cache cleared when a node's port's export's
> PortCharacteristic is changed?  If it is not, would clearing the cache
> under these circumstances cause problems?
> 
> Hope your vacation was enjoyable,
> 
>  - a
> 
> 
> 
> _______________________________________________
> Bug-gnu-electric mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bug-gnu-electric
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]