Ah, you want to know how multi-cut contacts are specified in the XML.
That is explained in the page on technology XML files:
https://www.staticfreesoft.com/jmanual/mchap08-10.html
Look for the term "multicutbox" and you will see where these contact
arrangements are defined.
-Steven Rubin
On 11/30/2020 7:18 AM, Alexandre Rusev wrote:
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):
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.
Figure 8.22
>>
On Mon, Nov 30, 2020 at 9:30 AM <[email protected]
<mailto:[email protected]>> wrote:
[email protected]
<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 [email protected] - 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 <[email protected]
<mailto:[email protected]>>: 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 <[email protected]
<mailto:[email protected]>>: 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 [email protected] - 2 updates in 1 topic
<http://groups.google.com/group/electricvlsi/t/a34c1ca71611385a?utm_source=digest&utm_medium=email>
Alexandre Rusev <[email protected]
<mailto:[email protected]>>: 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 [email protected]
<mailto:[email protected]>.
--
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 [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/electricvlsi/CACoSTqJSDYN%2Bk%3DKrStCEA5yivPeAEN-nqbZC7D-zjdgrTACS9g%40mail.gmail.com
<https://groups.google.com/d/msgid/electricvlsi/CACoSTqJSDYN%2Bk%3DKrStCEA5yivPeAEN-nqbZC7D-zjdgrTACS9g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/electricvlsi/ad0a9815-f328-fde5-2ac5-07831d5f52b4%40staticfreesoft.com.