[Top][All Lists]
[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
>