blob: 0c1d7004c68e833007ca58484704c15043382538 [file] [log] [blame]
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:s="https://github.com/nturley/netlistsvg" width="325" height="261">
<style>svg {
stroke:#000;
fill:none;
}
text {
fill:#000;
stroke:none;
font-size:10px;
font-weight: bold;
font-family: "Courier New", monospace;
}
.nodelabel {
text-anchor: middle;
}
.inputPortLabel {
text-anchor: end;
}
.splitjoinBody {
fill:#000;
}</style>
<g s:type="and" transform="translate(82,12)" s:width="30" s:height="25" id="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:58$3">
<s:alias val="$and"/>
<s:alias val="$logic_and"/>
<s:alias val="$_AND_"/>
<path d="M0,0 L0,25 L15,25 A15 12.5 0 0 0 15,0 Z" class="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:58$3"/>
<g s:x="0" s:y="5" s:pid="A"/>
<g s:x="0" s:y="20" s:pid="B"/>
<g s:x="30" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="and" transform="translate(82,72)" s:width="30" s:height="25" id="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:59$4">
<s:alias val="$and"/>
<s:alias val="$logic_and"/>
<s:alias val="$_AND_"/>
<path d="M0,0 L0,25 L15,25 A15 12.5 0 0 0 15,0 Z" class="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:59$4"/>
<g s:x="0" s:y="5" s:pid="A"/>
<g s:x="0" s:y="20" s:pid="B"/>
<g s:x="30" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="and" transform="translate(148,137)" s:width="30" s:height="25" id="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:60$5">
<s:alias val="$and"/>
<s:alias val="$logic_and"/>
<s:alias val="$_AND_"/>
<path d="M0,0 L0,25 L15,25 A15 12.5 0 0 0 15,0 Z" class="cell_$and$./cells/fah/sky130_fd_sc_hd__fah.functional.v:60$5"/>
<g s:x="0" s:y="5" s:pid="A"/>
<g s:x="0" s:y="20" s:pid="B"/>
<g s:x="30" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="or" transform="translate(148,19.5)" s:width="30" s:height="25" id="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$6">
<s:alias val="$or"/>
<s:alias val="$logic_or"/>
<s:alias val="$_OR_"/>
<path d="M0,25 L0,25 L15,25 A15 12.5 0 0 0 15,0 L0,0" class="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$6"/>
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$6"/>
<g s:x="3" s:y="5" s:pid="A"/>
<g s:x="3" s:y="20" s:pid="B"/>
<g s:x="30" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="or" transform="translate(216,27)" s:width="30" s:height="25" id="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$7">
<s:alias val="$or"/>
<s:alias val="$logic_or"/>
<s:alias val="$_OR_"/>
<path d="M0,25 L0,25 L15,25 A15 12.5 0 0 0 15,0 L0,0" class="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$7"/>
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$or$./cells/fah/sky130_fd_sc_hd__fah.functional.v:61$7"/>
<g s:x="3" s:y="5" s:pid="A"/>
<g s:x="3" s:y="20" s:pid="B"/>
<g s:x="30" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="reduce_xor" transform="translate(147,213)" s:width="33" s:height="25" id="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$1">
<s:alias val="$xor"/>
<s:alias val="$reduce_xor"/>
<s:alias val="$_XOR_"/>
<path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$1"/>
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$1"/>
<g s:x="3" s:y="5" s:pid="A"/>
<g s:x="3" s:y="20" s:pid="B"/>
<g s:x="33" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="reduce_xor" transform="translate(215,220.5)" s:width="33" s:height="25" id="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$2">
<s:alias val="$xor"/>
<s:alias val="$reduce_xor"/>
<s:alias val="$_XOR_"/>
<path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$2"/>
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$./cells/fah/sky130_fd_sc_hd__fah.functional.v:56$2"/>
<g s:x="3" s:y="5" s:pid="A"/>
<g s:x="3" s:y="20" s:pid="B"/>
<g s:x="33" s:y="12.5" s:pid="Y"/>
</g>
<g s:type="outputExt" transform="translate(283,29.5)" s:width="30" s:height="20" id="cell_COUT">
<text x="15" y="-4" class="nodelabel cell_COUT" s:attribute="ref">COUT</text>
<s:alias val="$_outputExt_"/>
<path d="M30,0 L30,20 L15,20 L0,10 L15,0 Z" class="cell_COUT"/>
<g s:x="0" s:y="10" s:pid="A"/>
</g>
<g s:type="outputExt" transform="translate(283,223)" s:width="30" s:height="20" id="cell_SUM">
<text x="15" y="-4" class="nodelabel cell_SUM" s:attribute="ref">SUM</text>
<s:alias val="$_outputExt_"/>
<path d="M30,0 L30,20 L15,20 L0,10 L15,0 Z" class="cell_SUM"/>
<g s:x="0" s:y="10" s:pid="A"/>
</g>
<g s:type="inputExt" transform="translate(12,67)" s:width="30" s:height="20" id="cell_A">
<text x="15" y="-4" class="nodelabel cell_A" s:attribute="ref">A</text>
<s:alias val="$_inputExt_"/>
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_A"/>
<g s:x="28" s:y="10" s:pid="Y"/>
</g>
<g s:type="inputExt" transform="translate(12,132)" s:width="30" s:height="20" id="cell_B">
<text x="15" y="-4" class="nodelabel cell_B" s:attribute="ref">B</text>
<s:alias val="$_inputExt_"/>
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_B"/>
<g s:x="28" s:y="10" s:pid="Y"/>
</g>
<g s:type="inputExt" transform="translate(12,197)" s:width="30" s:height="20" id="cell_CI">
<text x="15" y="-4" class="nodelabel cell_CI" s:attribute="ref">CI</text>
<s:alias val="$_inputExt_"/>
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_CI"/>
<g s:x="28" s:y="10" s:pid="Y"/>
</g>
<line x1="40" x2="72" y1="77" y2="77" class="net_4"/>
<line x1="72" x2="72" y1="77" y2="17" class="net_4"/>
<circle cx="72" cy="77" r="2" style="fill:#000" class="net_4"/>
<line x1="72" x2="82" y1="17" y2="17" class="net_4"/>
<line x1="40" x2="82" y1="77" y2="77" class="net_4"/>
<line x1="40" x2="72" y1="77" y2="77" class="net_4"/>
<line x1="72" x2="72" y1="77" y2="218" class="net_4"/>
<line x1="72" x2="150" y1="218" y2="218" class="net_4"/>
<line x1="40" x2="62" y1="142" y2="142" class="net_5"/>
<line x1="62" x2="62" y1="142" y2="32" class="net_5"/>
<circle cx="62" cy="142" r="2" style="fill:#000" class="net_5"/>
<line x1="62" x2="82" y1="32" y2="32" class="net_5"/>
<line x1="40" x2="148" y1="142" y2="142" class="net_5"/>
<line x1="40" x2="62" y1="142" y2="142" class="net_5"/>
<line x1="62" x2="62" y1="142" y2="233" class="net_5"/>
<line x1="62" x2="150" y1="233" y2="233" class="net_5"/>
<line x1="40" x2="52" y1="207" y2="207" class="net_6"/>
<line x1="52" x2="52" y1="207" y2="92" class="net_6"/>
<circle cx="52" cy="207" r="2" style="fill:#000" class="net_6"/>
<line x1="52" x2="82" y1="92" y2="92" class="net_6"/>
<line x1="40" x2="122" y1="207" y2="207" class="net_6"/>
<line x1="122" x2="122" y1="207" y2="157" class="net_6"/>
<line x1="122" x2="148" y1="157" y2="157" class="net_6"/>
<line x1="40" x2="52" y1="207" y2="207" class="net_6"/>
<line x1="52" x2="52" y1="207" y2="248" class="net_6"/>
<line x1="52" x2="190" y1="248" y2="248" class="net_6"/>
<line x1="190" x2="190" y1="248" y2="240.5" class="net_6"/>
<line x1="190" x2="218" y1="240.5" y2="240.5" class="net_6"/>
<line x1="112" x2="151" y1="24.5" y2="24.5" class="net_7"/>
<line x1="112" x2="122" y1="84.5" y2="84.5" class="net_8"/>
<line x1="122" x2="122" y1="84.5" y2="39.5" class="net_8"/>
<line x1="122" x2="151" y1="39.5" y2="39.5" class="net_8"/>
<line x1="178" x2="219" y1="32" y2="32" class="net_10"/>
<line x1="178" x2="190" y1="149.5" y2="149.5" class="net_9"/>
<line x1="190" x2="190" y1="149.5" y2="47" class="net_9"/>
<line x1="190" x2="219" y1="47" y2="47" class="net_9"/>
<line x1="180" x2="218" y1="225.5" y2="225.5" class="net_11"/>
<line x1="246" x2="283" y1="39.5" y2="39.5" class="net_2"/>
<line x1="248" x2="283" y1="233" y2="233" class="net_3"/>
</svg>