My question may be unclear, sorry.

I mean node cuts scaling rules. This is about  how to add cuts or vias
automatically when we are increasing size of resistor or capacitor.



Where the cut replication rules are coded in this  fragment of XML desc?
(How cuts are placed when size of resistor scaled in X/Y directions)

    <primitiveNode name="Hi-Res-Poly2-Resistor" fun="RESHIRESPOLY2">
        <nodeBase>
            <box>
                <lambdaBox klx="-20.0" khx="20.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeBase>
        <nodeLayer layer="Hi-Res" style="FILLED">
            <box>
                <lambdaBox klx="-22.0" khx="22.0" kly="-7.0" khy="7.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Metal-1" style="FILLED">
            <box khx="-1.0">
                <lambdaBox klx="-27.0" khx="-23.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="Metal-1" style="FILLED" portNum="1">
            <box klx="1.0">
                <lambdaBox klx="23.0" khx="27.0" kly="-2.0" khy="2.0"/>
            </box>
        </nodeLayer>
        <nodeLayer layer="*Poly-Cut*" style="FILLED">
            <multicutbox khx="-1.0" sizex="2.0" sizey="2.0" sep1d="3.0"
sep2d="3.0">
                <lambdaBox klx="-26.0" khx="-24.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="Poly-Cut" style="FILLED">
            <multicutbox klx="1.0" sizex="2.0" sizey="2.0" sep1d="3.0"
sep2d="3.0">
                <lambdaBox klx="24.0" khx="26.0" kly="0.0" khy="0.0"/>
            </multicutbox>
        </nodeLayer>
        <nodeLayer layer="Polysilicon-2" style="FILLED">
            <box>
                <lambdaBox klx="-30.0" khx="30.0" kly="-5.0" khy="5.0"/>
            </box>
        </nodeLayer>
        <primitivePort name="left">
            <portAngle primary="0" range="180"/>
            <portTopology>0</portTopology>
            <box khx="-1.0">
                <lambdaBox klx="-26.0" khx="-24.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal-1</portArc>
        </primitivePort>
        <primitivePort name="right">
            <portAngle primary="0" range="180"/>
            <portTopology>1</portTopology>
            <box klx="1.0">
                <lambdaBox klx="24.0" khx="26.0" kly="-1.0" khy="1.0"/>
            </box>
            <portArc>Metal-1</portArc>
        </primitivePort>
    </primitiveNode>




*I mean the question in the sense of this paragraph*:
https://www.staticfreesoft.com/jmanual/mchap08-09.html

Quotation of Chap08-09:
<<When all of the geometry, highlighting, and ports have been placed, you
can double-check your work with the *Identify Primitive Layers* command (in
menu *Edit / Technology Editing*), which will display this information
(note that the port name "Center" has been moved away for clarity): [image:
Figure 8.21]

The final step in the definition of this node is to create three more
copies that illustrate scaling in both axes. This is done simply by
selecting all five objects and using the *Duplicate* command (in menu *Edit*).
Once duplicated in a new location, each piece must be stretched
appropriately. In this example, the contact cut is designed so that the
number of cut elements grows with the node. Thus, when stretched
horizontally or vertically, there are two cuts, and when stretched in both
directions there are four cuts. The technology editor will determine
precise multicut rules from the cut spacing and the amount of stretch, so
that even more cuts will appear as the node grows larger. The finished node
definition is shown below. All that is necessary is to convert this library
back to a technology, and the new technology will have this node.

[image: Figure 8.22]

>>

On Mon, Nov 30, 2020 at 9:30 AM <electricvlsi@googlegroups.com> wrote:

> electricvlsi@googlegroups.com
> <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/electricvlsi/topics>
>  Google
> Groups
> <https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview>
> <https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview>
> Topic digest
> View all topics
> <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/electricvlsi/topics>
>
>    - [No Subject] <#m_1881890056990299367_group_thread_0> - 2 Updates
>    - Digest for electricvlsi@googlegroups.com - 2 updates in 1 topic
>    <#m_1881890056990299367_group_thread_1> - 1 Update
>
> [No Subject]
> <http://groups.google.com/group/electricvlsi/t/971c11eb4012fcb6?utm_source=digest&utm_medium=email>
> Alexandre Rusev <cyberf...@gmail.com>: Nov 30 12:38AM +0300
>
> Looking into Electric docs I don't see extensible explanation ("Creating
> new technologies") how scaling rules are coded for nodes in XML file.
>
> I need to parse code implementation to make it out ...
>
> Could anyone point out document, where scaling of teh nodes in XML is
> explained?
> Steven Rubin <stru...@staticfreesoft.com>: Nov 29 01:58PM -0800
>
> The only scaling rules available for a technology are the "scale units"
> that convert lambda distances (the scalable value) to nanometers. This
> scale appears near the top of the XML file and is controllable from the
> "Technology / Units" Preferences. There is no way to adjust the details
> of a technology from this scale.
>
>    -Steven Rubin
>
> On 11/29/2020 1:38 PM, Alexandre Rusev wrote:
> Back to top <#m_1881890056990299367_digest_top>
> Digest for electricvlsi@googlegroups.com - 2 updates in 1 topic
> <http://groups.google.com/group/electricvlsi/t/a34c1ca71611385a?utm_source=digest&utm_medium=email>
> Alexandre Rusev <cyberf...@gmail.com>: Nov 29 12:56PM +0300
>
> Ok.
>
> Before having good understanding of scaling algos in Electric I am not
> ready to code scaling rule infering appropriately ;)
> (straight forward approaches to fix it don't work for me)
> Postponing my efforts on this direction in favour of using XML description
>
> But it would be convenient to use advantage of placing geometries using
> GUI, than add scaling rules in textual form.
>
>
> Adam had to implement a special code generator due to generate complex
> geometries for Sky130..
>
> Would you like to include his code to the main repository as example
> tech-generator?
> https://gitlab.com/westernsemico/com.westernsemico.vlsi
>
>
> Alex
>
> Back to top <#m_1881890056990299367_digest_top>
> You received this digest because you're subscribed to updates for this
> group. You can change your settings on the group membership page
> <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/electricvlsi/join>
> .
> To unsubscribe from this group and stop receiving emails from it send an
> email to electricvlsi+unsubscr...@googlegroups.com.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Electric VLSI Editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to electricvlsi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/electricvlsi/CACoSTqJSDYN%2Bk%3DKrStCEA5yivPeAEN-nqbZC7D-zjdgrTACS9g%40mail.gmail.com.

Reply via email to