blog: home logic: flesh out the writing around this buffered inverter chain

This commit is contained in:
colin 2022-07-13 14:48:16 -07:00
parent 0aa261ba07
commit f938f92634
6 changed files with 185 additions and 123 deletions

View File

@ -289,10 +289,10 @@ each of these two outlined "inverters" carries only one bit, with the rest of th
you might think that when we cascade these devices, we could remove the input buffer of the second
device because it's already guarded by the output buffer of the first device.
unfortunately, that's not the case: i showed that buffer cores are needed when we discharge the inverter,
but after we discharge it we need to charge it _back_ to logic '1', and this requires an additional buffer.
but after we discharge it we need to charge it _back_ to logic '1', and that requires an additional buffer.
but this does present a problem: each stage of this chain performs 4 inversions -- so it's no longer
an inverter chain, but rather a shift register. we can solve this by inverting the wiring on 3 of these
but this does present a problem: each stage of this chain performs 4 inversions -- so externally it no longer
behaves as an inverter, but just a shift register. we can solve this by inverting the wiring on 3 of these
cores, and leaving just one inverting core:
<!-- there are other ways, too. we can have a 3-clock device if we switch to
@ -304,8 +304,8 @@ differential signals: +Vdd for logic '1' and -Vdd for logic '0'. but this requir
notice the wire sections which were previously blue but now red:
any pulses they carry are sent "into" the core (into the page)
instead of "out of" the core as before. hence, pulses on the red wires
have a tendency to write logic '1' to the core they feed into,
whereas the blue wires write logic '0' instead.
have a tendency to write logic '1' (CW) to the core they feed into,
whereas the blue wires write logic '0' (CCW) instead.
as data arrives into this device, it's immediately inverted, and will later be propagated downstream.
if we're deliberate with our control signals, we can cascade these inverter devices without issue.
@ -313,30 +313,33 @@ here's what that looks like over time:
![](staged-inverter-chain-clock0.svg)
TODO: rework this paragraph below to explain things left-to-right.
just prior to this moment, the last core of each buffer was holding S̄1 and S̄0, respectively.
now we're clearing those cores and dumping those values onto the output wires.
S̄1 now shows up at the input to the second device. that input, having an inverted winding,
forces its core into 1 - S̄1, or simply, S1.
the first device is fed new data at this moment, inverting and storing that signal as well.
TODO: CTL0 and CTL3 has wrong transition: should just copy the cycle4 diagram and change the numbers
TODO: the CTL0/CTL3 0->1 transitions are wrong.
S2 arrives as input to the first device, which can receive data because CTL0 is at 0V
(or even just left floating). this write polarizes the core away from logic '1', hence the core
is driven toward the inverse of S2, i.e. S̄2.
simultaneously, the fourth core was previously storing S̄1. it's actively driven back to 0,
dumping S̄1 onto its output. the second device behaves identically to the first, inverting
its S̄1 input back to S1 and simultaneously outputing S0.
over the next three CTL transitions, data is moved internally through the device.
these CTL transitions cause current to flow in the device's input/output loops,
but by watching the interface between these devices we can see that this only happens
when the adjacent device isn't open to writes (that's the point of our buffers).
![](staged-inverter-chain-clock1.svg)
![](staged-inverter-chain-clock2.svg)
you can see above that there's current in _every_ loop during this transition.
it's the single 0 -> 0 core at the end of each device here which prevents
the state from one device cross its way into the other device at this moment.
![](staged-inverter-chain-clock3.svg)
![](staged-inverter-chain-clock4.svg)
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.
that last CTL transition is just a repeat of the first image.
if we were to add an additional input winding (blue wire) to the first core in a device,
then that device 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.

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1033.2595mm"
width="1019.8824mm"
height="170.2341mm"
viewBox="0 0 1033.2596 170.23408"
viewBox="0 0 1019.8825 170.23408"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
@ -24,9 +24,9 @@
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.38885732"
inkscape:cx="1422.1154"
inkscape:cy="349.74267"
inkscape:window-width="1777"
inkscape:cx="1553.2689"
inkscape:cy="396.03215"
inkscape:window-width="2533"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
@ -190,7 +190,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(256.27182,-34.821801)">
transform="translate(242.89474,-34.821801)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />
@ -610,13 +610,13 @@
<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="-256.96945"
x="-241.39505"
y="83.16272"
id="text138287-5-9"><tspan
sodipodi:role="line"
id="tspan138285-5-2"
style="stroke-width:0.264583"
x="-256.96945"
x="-241.39505"
y="83.16272"><tspan
id="tspan167099-4-06"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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">S</tspan><tspan
@ -624,7 +624,7 @@
id="tspan143239-7-8">2</tspan></tspan></text>
<g
id="g249129-26"
transform="translate(-525.47589,-21.074945)">
transform="translate(-509.90149,-21.074945)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
@ -1659,7 +1659,7 @@
id="path248008"
sodipodi:nodetypes="cc" />
<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"
style="fill:none;stroke:#008b1f;stroke-width:0.794;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -47.803033,159.57829 h 18.238645"
id="path248010"
sodipodi:nodetypes="cc" />
@ -1998,14 +1998,15 @@
</g>
<g
id="g249129"
transform="translate(-16.139859,-21.248269)">
transform="translate(-16.139859,-21.248269)"
style="stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none">
<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"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
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"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44947"
sodipodi:nodetypes="ccccc" />
@ -2024,6 +2025,62 @@
id="path44947-2"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1246"
transform="matrix(-0.95998977,0,0,1,404.66599,-21.248269)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1242"
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 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1244"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1252"
transform="translate(-390.03068,-21.248269)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1248"
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 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1250"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1258"
transform="matrix(-0.95998977,0,0,1,914.7347,-21.248269)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1254"
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 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1256"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1264"
transform="translate(120.03803,-21.248269)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1260"
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 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1262"
sodipodi:nodetypes="ccccc" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1033.2595mm"
width="1019.8824mm"
height="170.2341mm"
viewBox="0 0 1033.2596 170.23408"
viewBox="0 0 1019.8825 170.23408"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
@ -23,15 +23,15 @@
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.5499273"
inkscape:cx="2562.1569"
inkscape:cy="252.76068"
inkscape:window-width="2669"
inkscape:zoom="0.27496365"
inkscape:cx="1856.6091"
inkscape:cy="3.6368444"
inkscape:window-width="2066"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g278347"
inkscape:current-layer="g278227"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
@ -190,7 +190,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(256.27182,-34.821801)">
transform="translate(242.89474,-34.821801)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />
@ -1611,7 +1611,7 @@
sodipodi:nodetypes="ccccc" />
<g
id="g278219"
transform="translate(-2.4062207,14.47661)">
transform="translate(-14.305464,14.47661)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1033.2595mm"
width="1019.8824mm"
height="170.2341mm"
viewBox="0 0 1033.2596 170.23408"
viewBox="0 0 1019.8825 170.23408"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
@ -24,14 +24,14 @@
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.27496365"
inkscape:cx="1571.1168"
inkscape:cy="432.78448"
inkscape:window-width="1141"
inkscape:cx="2060.2723"
inkscape:cy="-803.7426"
inkscape:window-width="1910"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g319418"
inkscape:current-layer="g249129-26"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
@ -190,7 +190,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(256.27182,-34.821801)">
transform="translate(242.89474,-34.821801)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />
@ -584,36 +584,9 @@
<g
id="g249129-26"
transform="translate(-390.29177,-21.074945)">
<g
id="g407963">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path44945-1"
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 269.46383,89.373143 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44947-0"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g271795"
transform="translate(368.78531,14.47661)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path44945-1-6"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44947-0-1"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g271801"
transform="matrix(-1.0430115,0,0,1,571.23698,14.47661)">
transform="matrix(-1.0430115,0,0,1,328.40082,14.47661)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
@ -627,7 +600,7 @@
</g>
<g
id="g407969"
transform="translate(-114.72369)">
transform="translate(126.37216)">
<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 281.13686,110.56943 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
@ -639,6 +612,34 @@
id="path407967"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1270"
transform="matrix(-1.0430115,0,0,1,443.89506,14.47661)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1266"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1268"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1356"
transform="matrix(-1.0430115,0,0,1,697.16185,14.47661)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1352"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1354"
sodipodi:nodetypes="ccccc" />
</g>
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1033.2595mm"
width="1019.8824mm"
height="170.2341mm"
viewBox="0 0 1033.2596 170.23408"
viewBox="0 0 1019.8825 170.23408"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
@ -23,10 +23,10 @@
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.0998546"
inkscape:cx="2545.7911"
inkscape:cy="250.03305"
inkscape:window-width="1141"
inkscape:zoom="0.5499273"
inkscape:cx="3312.256"
inkscape:cy="-38.186866"
inkscape:window-width="1818"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
@ -190,7 +190,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(256.27182,-34.821801)">
transform="translate(242.89474,-34.821801)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />
@ -815,7 +815,8 @@
</g>
</g>
<g
id="g338601">
id="g338601"
transform="translate(128.40566)">
<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.343119,89.65163 6.8801186,89.56943 10.582519,87.70437 6.8801186,89.56943 10.505579,91.8735"
@ -827,23 +828,9 @@
id="path44947-0"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g271795"
transform="translate(95.720696,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path44945-1-6"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path44947-0-1"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g271801"
transform="matrix(-1.0430115,0,0,1,308.44324,-6.44119)">
transform="matrix(-1.0430115,0,0,1,181.33543,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
@ -1798,7 +1785,7 @@
</g>
<g
id="g339007"
transform="translate(509.49345)">
transform="translate(635.80171)">
<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.343119,89.65163 6.8801186,89.56943 10.582519,87.70437 6.8801186,89.56943 10.505579,91.8735"
@ -1810,23 +1797,9 @@
id="path339005"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g339013"
transform="translate(605.21415,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path339009"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path339011"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g339019"
transform="matrix(-1.0430115,0,0,1,817.93669,-6.44119)">
transform="matrix(-1.0430115,0,0,1,693.02771,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
@ -2124,6 +2097,34 @@
y="82.7323"><tspan
id="tspan339155"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;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">1→1</tspan></tspan></text>
<g
id="g1342"
transform="matrix(-1.0430115,0,0,1,435.44794,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1338"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1340"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g1428"
transform="matrix(-1.0430115,0,0,1,937.30913,-6.44119)">
<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 168.09358,96.09282 -11.463,-0.0822 3.7024,-1.86506 -3.7024,1.86506 3.62546,2.30407"
id="path1424"
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 156.42055,74.896533 11.463,0.08222 -3.7024,1.865059 3.7024,-1.865059 -3.62546,-2.304075"
id="path1426"
sodipodi:nodetypes="ccccc" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -2,9 +2,9 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1033.2595mm"
width="1019.8824mm"
height="170.2341mm"
viewBox="0 0 1033.2596 170.23408"
viewBox="0 0 1019.8825 170.23408"
version="1.1"
id="svg5"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
@ -24,9 +24,9 @@
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.5499273"
inkscape:cx="1407.4588"
inkscape:cy="-94.557953"
inkscape:window-width="2669"
inkscape:cx="566.43851"
inkscape:cy="96.376376"
inkscape:window-width="2298"
inkscape:window-height="1394"
inkscape:window-x="0"
inkscape:window-y="0"
@ -190,7 +190,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(256.27182,-34.821801)">
transform="translate(242.89474,-34.821801)">
<g
id="g61769-8"
transform="translate(72.076339,51.974463)" />

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB