blog: home logic: more explicitly break down the inverter chain diagrams

This commit is contained in:
colin 2022-07-12 01:42:22 -07:00
parent 7a7ca0f47b
commit 0ed5a80636
3 changed files with 660 additions and 8 deletions

View File

@ -239,20 +239,26 @@ just take our clocked inverter, build 3 of these, and wire them in series, right
but it's not that simple: we have a few stray signals we need to look closer at first.
consider the case where all cores are polarized CW (logic '1'). then we apply a positive pulse to
core S1 in order to force it into the CCW state.
consider the case where all cores are polarized CW (logic '1'), below
(the circular arrows in the center of each core indicates its polarization).
![](inverter-chain-naive-trigger.svg)
![TODO](inverter-chain-naive-trigger-pre.svg)
as S1 transitions from CW to CCW polarization, it dumps current onto the wire connecting it to S2,
successfully transferring the logic '1' into an inverted logic '0' stored into S2.
but it _also_ dumps a pulse into the wire connecting S1 to S0, clearing it too!
after applying the pulse to S1, _all_ the cores end up polarized CCW:
then we apply a positive pulse to core S1 in order to force it into the CCW state:
![TODO](inverter-chain-naive-trigger-early.svg)
as S1 transitions from CW to CCW polarization, it dumps current as shown onto the wires connected to it.
after some time, this polarizes the neighboring cores.
![](inverter-chain-naive-post.svg)
we successfully transferred data from S1 to S2, but in the process, destroyed whatever other state was in S0!
it's actually worse than that. imagine another core after S2.
when S2 changes state, it'll dump current onto its output too, and effect things downstream of _it_.
when S2 changes state during this sequence, it'll dump current onto its output too,
and thereby effect things downstream of _it_.
in this naive inverter chain, a transition _anywhere_ can force an arbitrary number of downstream
or upstream cores into the '0' state.
@ -263,6 +269,24 @@ and therefore nothing downstream of it would be effected by S1's transition.
this hints that we can isolate data transfers by inserting buffer cores into this chain
which are fixed at the '0' state during the CTL1 transition.
![TODO](buffered-inverter-stage.svg)
TODO: 4 element inverter, with the two edges being held low.
for brevity i replaced the visual polarizations with their logic values.
finally, we can tile this group of four cores to construct inverter chains of arbitrary length
![TODO](staged-inverter-chain.svg)
TODO: 8 element inverter chain. show four clock cycles: from data arriving into the element, to data leaving it.
in effect, this is a chain of _two_ inverters,
where each inverter has four clock cycles of latency.
if we were to add an additional input winding to the first core in a group,
then that group would now serve as a NOR gate.
so we've got a framework for cascading, synchronous logic: use this four-core device
as our primitive logic gate and arrange it into whatever circuit we want.
the control signals are nastier than with CMOS, but the concept's there.
## TODO: show illustrations of clocked logic, buffered, with a gain stage
- include simulation results of the gain stage

View File

@ -0,0 +1,628 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="382.09042mm"
height="134.54936mm"
viewBox="0 0 382.09044 134.54935"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="inverter-chain-naive-trigger-early.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.1997092"
inkscape:cx="695.31918"
inkscape:cy="429.14764"
inkscape:window-width="1762"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs2">
<inkscape:path-effect
effect="powermask"
id="path-effect21738"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect21738"
invert="false"
hide_mask="false"
background="false"
background_color="#ffffffff" />
<inkscape:path-effect
effect="powermask"
id="path-effect5161"
is_visible="true"
lpeversion="1"
uri="#mask-powermask-path-effect5161"
invert="false"
hide_mask="false"
background="false"
background_color="#ffffffff" />
<filter
id="mask-powermask-path-effect2467_inverse"
inkscape:label="filtermask-powermask-path-effect2467"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect2467_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect2467_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
id="mask-powermask-path-effect2477_inverse"
inkscape:label="filtermask-powermask-path-effect2477"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect2477_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect2477_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
id="mask-powermask-path-effect3852_inverse"
inkscape:label="filtermask-powermask-path-effect3852"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect3852_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect3852_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
id="mask-powermask-path-effect4240_inverse"
inkscape:label="filtermask-powermask-path-effect4240"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect4240_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect4240_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<filter
id="mask-powermask-path-effect4258_inverse"
inkscape:label="filtermask-powermask-path-effect4258"
style="color-interpolation-filters:sRGB"
height="100"
width="100"
x="-50"
y="-50">
<feColorMatrix
id="mask-powermask-path-effect4258_primitive1"
values="1"
type="saturate"
result="fbSourceGraphic" />
<feColorMatrix
id="mask-powermask-path-effect4258_primitive2"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0 "
in="fbSourceGraphic" />
</filter>
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4654">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.30437;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4656"
width="83.205811"
height="40.501297"
x="57.484005"
y="40.048008" />
</clipPath>
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect5161">
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.93889;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle5159"
r="35.026619"
cy="80.09198"
cx="96.404594"
clip-path="url(#clipPath4654)" />
</mask>
<mask
maskUnits="userSpaceOnUse"
id="mask-powermask-path-effect21738">
<path
id="path21740"
style="fill:#ffffff;fill-opacity:1"
d="M 18.363333,70.118879 H 77.00259 V 86.690253 H 18.363333 Z" />
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:4.93889;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle21742"
r="35.026619"
cy="80.09198"
cx="96.404594"
clip-path="url(#clipPath4654)" />
</mask>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(242.42947,-43.634406)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />
<g
id="g82560"
transform="translate(-147.53786)">
<g
id="g82579"
transform="translate(1.0084752,-0.00992449)">
<g
id="g82598">
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.82222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle82526"
cx="96.404594"
cy="80.09198"
r="35.026619" />
<g
id="g82532"
transform="matrix(0.78622179,0,0,-0.91168702,11.8851,133.78797)">
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82528"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82530"
sodipodi:nodetypes="cczc" />
</g>
<g
id="g82538"
transform="matrix(0,-1,-1.0303411,0,157.76291,178.53473)">
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 46.155679,66.755829 H 60.352378"
id="path82534"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 46.026524,53.777141 14.976172,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82536"
sodipodi:nodetypes="cczc" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="10.530955"
y="94.195885"
id="text82542"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82540"
style="stroke-width:0.264583"
x="10.530955"
y="94.195885">CTL1</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="14.608097"
y="85.645226"
id="text82546"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82544"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="14.608097"
y="85.645226">+</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="29.011362"
y="85.860802"
id="text82550"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82548"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="29.011362"
y="85.860802">-</tspan></text>
<g
id="g82558"
transform="matrix(-0.71226747,0,0,-0.83697735,176.80699,129.95677)">
<g
id="g82556"
transform="matrix(1,0,0,-1.0894614,0.33829046,126.71598)">
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82552"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82554"
sodipodi:nodetypes="cczc" />
</g>
</g>
</g>
</g>
</g>
<g
id="g82718"
transform="translate(-20.200805,0.00992039)">
<g
id="g82716"
transform="translate(1.0084752,-0.00992449)">
<g
id="g82714">
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.82222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle82680"
cx="96.404594"
cy="80.09198"
r="35.026619" />
<g
id="g82686"
transform="matrix(0.78622179,0,0,-0.91168702,11.8851,133.78797)">
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82682"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82684"
sodipodi:nodetypes="cczc" />
</g>
<g
id="g82692"
transform="matrix(0,-1,-1.0303411,0,157.76291,178.53473)">
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 46.155679,66.755829 H 60.352378"
id="path82688"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 46.026524,53.777141 14.976172,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82690"
sodipodi:nodetypes="cczc" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="10.530955"
y="94.195885"
id="text82696"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82694"
style="stroke-width:0.264583"
x="10.530955"
y="94.195885">CTL2</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="14.608097"
y="85.645226"
id="text82700"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82698"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="14.608097"
y="85.645226">+</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="29.011362"
y="85.860802"
id="text82704"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82702"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="29.011362"
y="85.860802">-</tspan></text>
<g
id="g82712"
transform="matrix(-0.71226747,0,0,-0.83697735,176.80699,129.95677)">
<g
id="g82710"
transform="matrix(1,0,0,-1.0894614,0.33829046,126.71598)">
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82706"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82708"
sodipodi:nodetypes="cczc" />
</g>
</g>
</g>
</g>
</g>
<g
id="g82758"
transform="translate(-274.87492,-0.00992039)">
<g
id="g82756"
transform="translate(1.0084752,-0.00992449)">
<g
id="g82754">
<circle
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.82222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="circle82720"
cx="96.404594"
cy="80.09198"
r="35.026619" />
<g
id="g82726"
transform="matrix(0.78622179,0,0,-0.91168702,11.8851,133.78797)">
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82722"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#0000a6;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82724"
sodipodi:nodetypes="cczc" />
</g>
<g
id="g82732"
transform="matrix(0,-1,-1.0303411,0,157.76291,178.53473)">
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 46.155679,66.755829 H 60.352378"
id="path82728"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#008b1f;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 46.026524,53.777141 14.976172,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82730"
sodipodi:nodetypes="cczc" />
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="10.530955"
y="94.195885"
id="text82736"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82734"
style="stroke-width:0.264583"
x="10.530955"
y="94.195885">CTL0</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="14.608097"
y="85.645226"
id="text82740"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82738"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="14.608097"
y="85.645226">+</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="29.011362"
y="85.860802"
id="text82744"
transform="translate(72.076339,51.974463)"><tspan
sodipodi:role="line"
id="tspan82742"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="29.011362"
y="85.860802">-</tspan></text>
<g
id="g82752"
transform="matrix(-0.71226747,0,0,-0.83697735,176.80699,129.95677)">
<g
id="g82750"
transform="matrix(1,0,0,-1.0894614,0.33829046,126.71598)">
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 24.976582,66.755829 H 60.352378"
id="path82746"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#b31800;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 24.870685,53.777141 36.132011,-0.174079 c 8.817343,0.119117 21.509533,0.22517 21.698522,6.921089 0.188989,6.695919 -11.489226,6.347484 -15.32365,6.369698"
id="path82748"
sodipodi:nodetypes="cczc" />
</g>
</g>
</g>
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="-184.08411"
y="83.364105"
id="text2118"><tspan
sodipodi:role="line"
id="tspan2116"
style="stroke-width:0.264583"
x="-184.08411"
y="83.364105">S0</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="-57.257633"
y="83.364105"
id="text3214"><tspan
sodipodi:role="line"
id="tspan3212"
style="stroke-width:0.264583"
x="-57.257633"
y="83.364105">S1</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="69.821335"
y="83.364105"
id="text3218"><tspan
sodipodi:role="line"
id="tspan3216"
style="stroke-width:0.264583"
x="69.821335"
y="83.364105">S2</tspan></text>
<path
style="fill:none;stroke:#b31800;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -71.848616,176.77532 13.83083,0 v -17.16513 h 15.950488 v 17.16912 h 13.483328"
id="path42467"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;stroke:#008b1f;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -53.515939,159.61019 11.448641,0 v 17.16912 h 13.483328"
id="path12459"
sodipodi:nodetypes="cccc" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="-82.72934"
y="178.08386"
id="text14761"><tspan
sodipodi:role="line"
id="tspan14759"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="-82.72934"
y="178.08386">0V</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="-72.462296"
y="161.53864"
id="text17559"><tspan
sodipodi:role="line"
id="tspan17557"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583"
x="-72.462296"
y="161.53864"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan27396">V</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan30764">DD</tspan></tspan></text>
<g
id="g43446"
transform="matrix(-1.0149532,0,0,1,-230.80019,0)">
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -184.37349,88.091113 c 0,0 -5.47586,-3.939939 -5.47586,-10.976299 0,-7.03636 5.99701,-11.379631 12.62218,-11.379631 6.62517,0 12.49494,4.604236 12.49494,11.487608 0,6.883372 -5.2247,10.955699 -5.2247,10.955699"
id="path43442"
sodipodi:nodetypes="czzzc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -169.45691,82.371731 -0.50002,5.806758 6.47689,-2.209676"
id="path43444" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -108.81822,89.529708 -11.463,-0.08222 3.7024,-1.865059 -3.7024,1.865059 3.62546,2.304075"
id="path44194"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -108.81822,89.529708 -11.463,-0.08222 3.7024,-1.865059 -3.7024,1.865059 3.62546,2.304075"
id="path44941"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -120.49125,68.333422 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44943"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 18.359756,89.529708 6.8967562,89.447488 10.599156,87.582429 6.8967562,89.447488 10.522216,91.751563"
id="path44945"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 6.6867262,68.333422 11.4629998,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44947"
sodipodi:nodetypes="ccccc" />
<g
id="g12412-0"
transform="translate(-0.04209112,0.67091279)">
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -184.37349,88.091113 c 0,0 -5.47586,-3.939939 -5.47586,-10.976299 0,-7.03636 5.99701,-11.379631 12.62218,-11.379631 6.62517,0 12.49494,4.604236 12.49494,11.487608 0,6.883372 -5.2247,10.955699 -5.2247,10.955699"
id="path11027-6"
sodipodi:nodetypes="czzzc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -169.45691,82.371731 -0.50002,5.806758 6.47689,-2.209676"
id="path12328-3" />
</g>
<g
id="g45260"
transform="translate(253.70394,0.67091279)">
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -184.37349,88.091113 c 0,0 -5.47586,-3.939939 -5.47586,-10.976299 0,-7.03636 5.99701,-11.379631 12.62218,-11.379631 6.62517,0 12.49494,4.604236 12.49494,11.487608 0,6.883372 -5.2247,10.955699 -5.2247,10.955699"
id="path45256"
sodipodi:nodetypes="czzzc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -169.45691,82.371731 -0.50002,5.806758 6.47689,-2.209676"
id="path45258" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB