risc-III/ternary.circ

1432 lines
59 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="3.8.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/).
<lib desc="#Wiring" name="0"/>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4"/>
<lib desc="#I/O" name="5"/>
<lib desc="#TTL" name="6"/>
<lib desc="#TCL" name="7"/>
<lib desc="#Base" name="8"/>
<lib desc="#BFH-Praktika" name="9"/>
<lib desc="#Input/Output-Extra" name="10"/>
<lib desc="#Soc" name="11"/>
<main name="main"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="50000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="8" map="Button2" name="Poke Tool"/>
<tool lib="8" map="Button3" name="Menu Tool"/>
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="8" name="Poke Tool"/>
<tool lib="8" name="Edit Tool"/>
<tool lib="8" name="Wiring Tool"/>
<tool lib="8" name="Text Tool"/>
<sep/>
<tool lib="0" name="Pin"/>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
</tool>
<sep/>
<tool name="not3"/>
<tool name="min"/>
<tool name="max"/>
<tool name="xor3"/>
<tool name="amin"/>
<tool name="amax"/>
<sep/>
<tool lib="4" name="D Flip-Flop"/>
<tool lib="4" name="Register"/>
</toolbar>
<circuit name="main">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="main"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<comp lib="0" loc="(350,400)" name="Splitter">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(630,400)" name="Splitter">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(690,1010)" name="Splitter"/>
<comp lib="0" loc="(690,1040)" name="Splitter"/>
<comp lib="0" loc="(690,1070)" name="Splitter"/>
<comp lib="0" loc="(690,1100)" name="Splitter"/>
<comp lib="0" loc="(690,1130)" name="Splitter"/>
<comp lib="0" loc="(690,1160)" name="Splitter"/>
<comp lib="0" loc="(690,1190)" name="Splitter"/>
<comp lib="0" loc="(690,1220)" name="Splitter"/>
<comp lib="0" loc="(690,1250)" name="Splitter"/>
<comp lib="0" loc="(690,470)" name="Splitter"/>
<comp lib="0" loc="(690,500)" name="Splitter"/>
<comp lib="0" loc="(690,530)" name="Splitter"/>
<comp lib="0" loc="(690,560)" name="Splitter"/>
<comp lib="0" loc="(690,590)" name="Splitter"/>
<comp lib="0" loc="(690,620)" name="Splitter"/>
<comp lib="0" loc="(690,650)" name="Splitter"/>
<comp lib="0" loc="(690,680)" name="Splitter"/>
<comp lib="0" loc="(690,710)" name="Splitter"/>
<comp lib="0" loc="(690,740)" name="Splitter"/>
<comp lib="0" loc="(690,770)" name="Splitter"/>
<comp lib="0" loc="(690,800)" name="Splitter"/>
<comp lib="0" loc="(690,830)" name="Splitter"/>
<comp lib="0" loc="(690,860)" name="Splitter"/>
<comp lib="0" loc="(690,890)" name="Splitter"/>
<comp lib="0" loc="(690,920)" name="Splitter"/>
<comp lib="0" loc="(690,950)" name="Splitter"/>
<comp lib="0" loc="(690,980)" name="Splitter"/>
<comp lib="5" loc="(350,380)" name="DipSwitch">
<a name="facing" val="south"/>
<a name="number" val="2"/>
</comp>
<comp lib="5" loc="(630,380)" name="DipSwitch">
<a name="facing" val="south"/>
<a name="number" val="2"/>
</comp>
<comp lib="5" loc="(710,1020)" name="RGBLED"/>
<comp lib="5" loc="(710,1050)" name="RGBLED"/>
<comp lib="5" loc="(710,1080)" name="RGBLED"/>
<comp lib="5" loc="(710,1110)" name="RGBLED"/>
<comp lib="5" loc="(710,1140)" name="RGBLED"/>
<comp lib="5" loc="(710,1170)" name="RGBLED"/>
<comp lib="5" loc="(710,1200)" name="RGBLED"/>
<comp lib="5" loc="(710,1230)" name="RGBLED"/>
<comp lib="5" loc="(710,450)" name="RGBLED"/>
<comp lib="5" loc="(710,480)" name="RGBLED"/>
<comp lib="5" loc="(710,510)" name="RGBLED"/>
<comp lib="5" loc="(710,540)" name="RGBLED"/>
<comp lib="5" loc="(710,570)" name="RGBLED"/>
<comp lib="5" loc="(710,600)" name="RGBLED"/>
<comp lib="5" loc="(710,630)" name="RGBLED"/>
<comp lib="5" loc="(710,660)" name="RGBLED"/>
<comp lib="5" loc="(710,690)" name="RGBLED"/>
<comp lib="5" loc="(710,720)" name="RGBLED"/>
<comp lib="5" loc="(710,750)" name="RGBLED"/>
<comp lib="5" loc="(710,780)" name="RGBLED"/>
<comp lib="5" loc="(710,810)" name="RGBLED"/>
<comp lib="5" loc="(710,840)" name="RGBLED"/>
<comp lib="5" loc="(710,870)" name="RGBLED"/>
<comp lib="5" loc="(710,900)" name="RGBLED"/>
<comp lib="5" loc="(710,930)" name="RGBLED"/>
<comp lib="5" loc="(710,960)" name="RGBLED"/>
<comp lib="5" loc="(710,990)" name="RGBLED"/>
<comp lib="8" loc="(130,50)" name="Text">
<a name="text" val="register test "/>
</comp>
<comp lib="8" loc="(324,336)" name="Text">
<a name="text" val="-"/>
</comp>
<comp lib="8" loc="(341,338)" name="Text">
<a name="text" val="+"/>
</comp>
<comp lib="8" loc="(601,300)" name="Text">
<a name="text" val="save once to fix the oscillation"/>
</comp>
<comp lib="8" loc="(606,332)" name="Text">
<a name="text" val="-"/>
</comp>
<comp lib="8" loc="(621,332)" name="Text">
<a name="text" val="+"/>
</comp>
<comp lib="8" loc="(657,380)" name="Text">
<a name="text" val="- load"/>
</comp>
<comp lib="8" loc="(659,361)" name="Text">
<a name="text" val="+ save"/>
</comp>
<comp loc="(670,1010)" name="mem"/>
<comp loc="(670,1040)" name="mem"/>
<comp loc="(670,1070)" name="mem"/>
<comp loc="(670,1100)" name="mem"/>
<comp loc="(670,1130)" name="mem"/>
<comp loc="(670,1160)" name="mem"/>
<comp loc="(670,1190)" name="mem"/>
<comp loc="(670,1220)" name="mem"/>
<comp loc="(670,1250)" name="mem"/>
<comp loc="(670,470)" name="mem"/>
<comp loc="(670,500)" name="mem"/>
<comp loc="(670,530)" name="mem"/>
<comp loc="(670,560)" name="mem"/>
<comp loc="(670,590)" name="mem"/>
<comp loc="(670,620)" name="mem"/>
<comp loc="(670,650)" name="mem"/>
<comp loc="(670,680)" name="mem"/>
<comp loc="(670,710)" name="mem"/>
<comp loc="(670,740)" name="mem"/>
<comp loc="(670,770)" name="mem"/>
<comp loc="(670,800)" name="mem"/>
<comp loc="(670,830)" name="mem"/>
<comp loc="(670,860)" name="mem"/>
<comp loc="(670,890)" name="mem"/>
<comp loc="(670,920)" name="mem"/>
<comp loc="(670,950)" name="mem"/>
<comp loc="(670,980)" name="mem"/>
<wire from="(350,1250)" to="(640,1250)"/>
<wire from="(350,400)" to="(350,450)"/>
<wire from="(350,450)" to="(350,1250)"/>
<wire from="(350,450)" to="(360,450)"/>
<wire from="(360,1220)" to="(640,1220)"/>
<wire from="(360,450)" to="(360,1220)"/>
<wire from="(360,450)" to="(370,450)"/>
<wire from="(370,1190)" to="(640,1190)"/>
<wire from="(370,450)" to="(370,1190)"/>
<wire from="(370,450)" to="(380,450)"/>
<wire from="(380,1160)" to="(640,1160)"/>
<wire from="(380,450)" to="(380,1160)"/>
<wire from="(380,450)" to="(390,450)"/>
<wire from="(390,1130)" to="(640,1130)"/>
<wire from="(390,450)" to="(390,1130)"/>
<wire from="(390,450)" to="(400,450)"/>
<wire from="(400,1100)" to="(640,1100)"/>
<wire from="(400,450)" to="(400,1100)"/>
<wire from="(400,450)" to="(410,450)"/>
<wire from="(410,1070)" to="(640,1070)"/>
<wire from="(410,450)" to="(410,1070)"/>
<wire from="(410,450)" to="(420,450)"/>
<wire from="(420,1040)" to="(640,1040)"/>
<wire from="(420,450)" to="(420,1040)"/>
<wire from="(420,450)" to="(430,450)"/>
<wire from="(430,1010)" to="(640,1010)"/>
<wire from="(430,450)" to="(430,1010)"/>
<wire from="(430,450)" to="(440,450)"/>
<wire from="(440,450)" to="(440,980)"/>
<wire from="(440,450)" to="(450,450)"/>
<wire from="(440,980)" to="(640,980)"/>
<wire from="(450,450)" to="(450,950)"/>
<wire from="(450,450)" to="(460,450)"/>
<wire from="(450,950)" to="(640,950)"/>
<wire from="(460,450)" to="(460,920)"/>
<wire from="(460,450)" to="(470,450)"/>
<wire from="(460,920)" to="(640,920)"/>
<wire from="(470,450)" to="(470,890)"/>
<wire from="(470,450)" to="(480,450)"/>
<wire from="(470,890)" to="(640,890)"/>
<wire from="(480,450)" to="(480,860)"/>
<wire from="(480,450)" to="(490,450)"/>
<wire from="(480,860)" to="(640,860)"/>
<wire from="(490,450)" to="(490,830)"/>
<wire from="(490,450)" to="(500,450)"/>
<wire from="(490,830)" to="(640,830)"/>
<wire from="(500,450)" to="(500,800)"/>
<wire from="(500,450)" to="(510,450)"/>
<wire from="(500,800)" to="(640,800)"/>
<wire from="(510,450)" to="(510,770)"/>
<wire from="(510,450)" to="(520,450)"/>
<wire from="(510,770)" to="(640,770)"/>
<wire from="(520,450)" to="(520,740)"/>
<wire from="(520,450)" to="(530,450)"/>
<wire from="(520,740)" to="(640,740)"/>
<wire from="(530,450)" to="(530,710)"/>
<wire from="(530,450)" to="(540,450)"/>
<wire from="(530,710)" to="(640,710)"/>
<wire from="(540,450)" to="(540,680)"/>
<wire from="(540,450)" to="(550,450)"/>
<wire from="(540,680)" to="(640,680)"/>
<wire from="(550,450)" to="(550,650)"/>
<wire from="(550,450)" to="(560,450)"/>
<wire from="(550,650)" to="(640,650)"/>
<wire from="(560,450)" to="(560,620)"/>
<wire from="(560,450)" to="(570,450)"/>
<wire from="(560,620)" to="(640,620)"/>
<wire from="(570,450)" to="(570,590)"/>
<wire from="(570,450)" to="(580,450)"/>
<wire from="(570,590)" to="(640,590)"/>
<wire from="(580,450)" to="(580,560)"/>
<wire from="(580,450)" to="(590,450)"/>
<wire from="(580,560)" to="(640,560)"/>
<wire from="(590,450)" to="(590,530)"/>
<wire from="(590,450)" to="(600,450)"/>
<wire from="(590,530)" to="(640,530)"/>
<wire from="(600,450)" to="(600,500)"/>
<wire from="(600,450)" to="(610,450)"/>
<wire from="(600,500)" to="(640,500)"/>
<wire from="(610,450)" to="(610,470)"/>
<wire from="(610,470)" to="(640,470)"/>
<wire from="(630,1020)" to="(630,1050)"/>
<wire from="(630,1020)" to="(640,1020)"/>
<wire from="(630,1050)" to="(630,1080)"/>
<wire from="(630,1050)" to="(640,1050)"/>
<wire from="(630,1080)" to="(630,1110)"/>
<wire from="(630,1080)" to="(640,1080)"/>
<wire from="(630,1110)" to="(630,1140)"/>
<wire from="(630,1110)" to="(640,1110)"/>
<wire from="(630,1140)" to="(630,1170)"/>
<wire from="(630,1140)" to="(640,1140)"/>
<wire from="(630,1170)" to="(630,1200)"/>
<wire from="(630,1170)" to="(640,1170)"/>
<wire from="(630,1200)" to="(630,1230)"/>
<wire from="(630,1200)" to="(640,1200)"/>
<wire from="(630,1230)" to="(630,1260)"/>
<wire from="(630,1230)" to="(640,1230)"/>
<wire from="(630,1260)" to="(640,1260)"/>
<wire from="(630,400)" to="(630,480)"/>
<wire from="(630,480)" to="(630,510)"/>
<wire from="(630,480)" to="(640,480)"/>
<wire from="(630,510)" to="(630,540)"/>
<wire from="(630,510)" to="(640,510)"/>
<wire from="(630,540)" to="(630,570)"/>
<wire from="(630,540)" to="(640,540)"/>
<wire from="(630,570)" to="(630,600)"/>
<wire from="(630,570)" to="(640,570)"/>
<wire from="(630,600)" to="(630,630)"/>
<wire from="(630,600)" to="(640,600)"/>
<wire from="(630,630)" to="(630,660)"/>
<wire from="(630,630)" to="(640,630)"/>
<wire from="(630,660)" to="(630,690)"/>
<wire from="(630,660)" to="(640,660)"/>
<wire from="(630,690)" to="(630,720)"/>
<wire from="(630,690)" to="(640,690)"/>
<wire from="(630,720)" to="(630,750)"/>
<wire from="(630,720)" to="(640,720)"/>
<wire from="(630,750)" to="(630,780)"/>
<wire from="(630,750)" to="(640,750)"/>
<wire from="(630,780)" to="(630,810)"/>
<wire from="(630,780)" to="(640,780)"/>
<wire from="(630,810)" to="(630,840)"/>
<wire from="(630,810)" to="(640,810)"/>
<wire from="(630,840)" to="(630,870)"/>
<wire from="(630,840)" to="(640,840)"/>
<wire from="(630,870)" to="(630,900)"/>
<wire from="(630,870)" to="(640,870)"/>
<wire from="(630,900)" to="(630,930)"/>
<wire from="(630,900)" to="(640,900)"/>
<wire from="(630,930)" to="(630,960)"/>
<wire from="(630,930)" to="(640,930)"/>
<wire from="(630,960)" to="(630,990)"/>
<wire from="(630,960)" to="(640,960)"/>
<wire from="(630,990)" to="(630,1020)"/>
<wire from="(630,990)" to="(640,990)"/>
<wire from="(670,1010)" to="(690,1010)"/>
<wire from="(670,1040)" to="(690,1040)"/>
<wire from="(670,1070)" to="(690,1070)"/>
<wire from="(670,1100)" to="(690,1100)"/>
<wire from="(670,1130)" to="(690,1130)"/>
<wire from="(670,1160)" to="(690,1160)"/>
<wire from="(670,1190)" to="(690,1190)"/>
<wire from="(670,1220)" to="(690,1220)"/>
<wire from="(670,1250)" to="(690,1250)"/>
<wire from="(670,470)" to="(690,470)"/>
<wire from="(670,500)" to="(690,500)"/>
<wire from="(670,530)" to="(690,530)"/>
<wire from="(670,560)" to="(690,560)"/>
<wire from="(670,590)" to="(690,590)"/>
<wire from="(670,620)" to="(690,620)"/>
<wire from="(670,650)" to="(690,650)"/>
<wire from="(670,680)" to="(690,680)"/>
<wire from="(670,710)" to="(690,710)"/>
<wire from="(670,740)" to="(690,740)"/>
<wire from="(670,770)" to="(690,770)"/>
<wire from="(670,800)" to="(690,800)"/>
<wire from="(670,830)" to="(690,830)"/>
<wire from="(670,860)" to="(690,860)"/>
<wire from="(670,890)" to="(690,890)"/>
<wire from="(670,920)" to="(690,920)"/>
<wire from="(670,950)" to="(690,950)"/>
<wire from="(670,980)" to="(690,980)"/>
<wire from="(710,1000)" to="(720,1000)"/>
<wire from="(710,1030)" to="(720,1030)"/>
<wire from="(710,1060)" to="(720,1060)"/>
<wire from="(710,1090)" to="(720,1090)"/>
<wire from="(710,1120)" to="(720,1120)"/>
<wire from="(710,1150)" to="(720,1150)"/>
<wire from="(710,1180)" to="(720,1180)"/>
<wire from="(710,1210)" to="(720,1210)"/>
<wire from="(710,1240)" to="(720,1240)"/>
<wire from="(710,460)" to="(720,460)"/>
<wire from="(710,490)" to="(720,490)"/>
<wire from="(710,520)" to="(720,520)"/>
<wire from="(710,550)" to="(720,550)"/>
<wire from="(710,580)" to="(720,580)"/>
<wire from="(710,610)" to="(720,610)"/>
<wire from="(710,640)" to="(720,640)"/>
<wire from="(710,670)" to="(720,670)"/>
<wire from="(710,700)" to="(720,700)"/>
<wire from="(710,730)" to="(720,730)"/>
<wire from="(710,760)" to="(720,760)"/>
<wire from="(710,790)" to="(720,790)"/>
<wire from="(710,820)" to="(720,820)"/>
<wire from="(710,850)" to="(720,850)"/>
<wire from="(710,880)" to="(720,880)"/>
<wire from="(710,910)" to="(720,910)"/>
<wire from="(710,940)" to="(720,940)"/>
<wire from="(710,970)" to="(720,970)"/>
</circuit>
<circuit name="buf3">
<a name="appearance" val="custom"/>
<a name="circuit" val="buf3"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<polygon fill="#ffffff" points="50,67 50,54 69,60" stroke="#000000"/>
<polygon fill="#ffffff" points="52,68 54,63 56,68" stroke="#000000"/>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="670,300" x="50" y="60"/>
<circ-port dir="out" pin="810,300" x="70" y="60"/>
</appear>
<comp lib="0" loc="(670,300)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(670,300)" name="Splitter"/>
<comp lib="0" loc="(810,300)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(810,300)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(730,280)" name="Buffer"/>
<comp lib="1" loc="(730,300)" name="Buffer"/>
<wire from="(690,280)" to="(710,280)"/>
<wire from="(690,290)" to="(690,300)"/>
<wire from="(690,300)" to="(710,300)"/>
<wire from="(730,280)" to="(790,280)"/>
<wire from="(730,300)" to="(770,300)"/>
<wire from="(770,300)" to="(770,320)"/>
<wire from="(770,320)" to="(790,320)"/>
<wire from="(790,280)" to="(790,310)"/>
</circuit>
<circuit name="not3">
<a name="appearance" val="custom"/>
<a name="circuit" val="not3"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<polygon fill="#ffffff" points="100,67 100,54 113,60" stroke="#000000"/>
<polygon fill="#ffffff" points="102,67 104,62 106,67" stroke="#000000"/>
<ellipse cx="115" cy="60" fill="#ffffff" rx="3" ry="3" stroke="#000000"/>
<circ-anchor facing="east" x="120" y="60"/>
<circ-port dir="in" pin="50,140" x="100" y="60"/>
<circ-port dir="out" pin="300,140" x="120" y="60"/>
</appear>
<comp lib="0" loc="(270,130)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(300,140)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,140)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(80,140)" name="Splitter"/>
<comp lib="1" loc="(110,80)" name="NOT Gate">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(120,180)" name="NOT Gate">
<a name="facing" val="south"/>
</comp>
<comp lib="1" loc="(170,210)" name="AND Gate"/>
<comp lib="1" loc="(170,60)" name="AND Gate"/>
<wire from="(100,120)" to="(120,120)"/>
<wire from="(100,130)" to="(100,230)"/>
<wire from="(100,130)" to="(110,130)"/>
<wire from="(100,230)" to="(120,230)"/>
<wire from="(100,40)" to="(100,120)"/>
<wire from="(100,40)" to="(120,40)"/>
<wire from="(110,110)" to="(110,130)"/>
<wire from="(110,80)" to="(120,80)"/>
<wire from="(120,120)" to="(120,150)"/>
<wire from="(120,180)" to="(120,190)"/>
<wire from="(170,210)" to="(230,210)"/>
<wire from="(170,60)" to="(240,60)"/>
<wire from="(230,140)" to="(230,210)"/>
<wire from="(230,140)" to="(250,140)"/>
<wire from="(240,150)" to="(250,150)"/>
<wire from="(240,60)" to="(240,150)"/>
<wire from="(270,130)" to="(270,140)"/>
<wire from="(270,140)" to="(300,140)"/>
<wire from="(50,140)" to="(80,140)"/>
</circuit>
<circuit name="inc">
<a name="appearance" val="custom"/>
<a name="circuit" val="inc"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="16" x="64" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="72" y="60">+1</text>
<path d="M60,50 Q64,60 60,70" fill="none" stroke="#000000"/>
<polygon fill="#ffffff" points="67,72 69,67 71,72" stroke="#000000"/>
<circ-anchor facing="east" x="80" y="60"/>
<circ-port dir="in" pin="50,130" x="60" y="60"/>
<circ-port dir="out" pin="330,130" x="80" y="60"/>
</appear>
<comp lib="0" loc="(320,130)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(330,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,130)" name="Splitter"/>
<comp lib="1" loc="(210,130)" name="AND Gate">
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(210,70)" name="AND Gate">
<a name="negate1" val="true"/>
</comp>
<wire from="(100,120)" to="(100,150)"/>
<wire from="(100,150)" to="(150,150)"/>
<wire from="(100,90)" to="(100,120)"/>
<wire from="(100,90)" to="(150,90)"/>
<wire from="(110,110)" to="(150,110)"/>
<wire from="(110,50)" to="(110,110)"/>
<wire from="(110,50)" to="(160,50)"/>
<wire from="(210,130)" to="(300,130)"/>
<wire from="(210,70)" to="(270,70)"/>
<wire from="(270,150)" to="(300,150)"/>
<wire from="(270,70)" to="(270,150)"/>
<wire from="(300,130)" to="(300,140)"/>
<wire from="(320,130)" to="(330,130)"/>
<wire from="(50,130)" to="(60,130)"/>
<wire from="(80,110)" to="(110,110)"/>
<wire from="(80,120)" to="(100,120)"/>
</circuit>
<circuit name="dec">
<a name="appearance" val="custom"/>
<a name="circuit" val="dec"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="16" x="64" y="50"/>
<path d="M60,50 Q64,60 60,70" fill="none" stroke="#000000"/>
<polygon fill="#ffffff" points="67,72 69,67 71,72" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="73" y="60">-1</text>
<circ-anchor facing="east" x="80" y="60"/>
<circ-port dir="in" pin="50,130" x="60" y="60"/>
<circ-port dir="out" pin="330,130" x="80" y="60"/>
</appear>
<comp lib="0" loc="(320,130)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(330,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,130)" name="Splitter"/>
<comp lib="1" loc="(210,130)" name="AND Gate">
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(210,70)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<wire from="(100,120)" to="(100,150)"/>
<wire from="(100,150)" to="(150,150)"/>
<wire from="(100,90)" to="(100,120)"/>
<wire from="(100,90)" to="(160,90)"/>
<wire from="(110,110)" to="(150,110)"/>
<wire from="(110,50)" to="(110,110)"/>
<wire from="(110,50)" to="(150,50)"/>
<wire from="(210,130)" to="(260,130)"/>
<wire from="(210,70)" to="(270,70)"/>
<wire from="(260,130)" to="(260,150)"/>
<wire from="(260,150)" to="(300,150)"/>
<wire from="(270,140)" to="(300,140)"/>
<wire from="(270,70)" to="(270,140)"/>
<wire from="(320,130)" to="(330,130)"/>
<wire from="(50,130)" to="(60,130)"/>
<wire from="(80,110)" to="(110,110)"/>
<wire from="(80,120)" to="(100,120)"/>
</circuit>
<circuit name="eq">
<a name="appearance" val="custom"/>
<a name="circuit" val="eq"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="20" x="50" y="50"/>
<polygon fill="#ffffff" points="55,72 57,67 59,72" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="59" y="60">=</text>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="60,130" x="50" y="70"/>
<circ-port dir="in" pin="60,70" x="50" y="50"/>
<circ-port dir="out" pin="410,110" x="70" y="60"/>
</appear>
<comp lib="0" loc="(280,110)" name="Ground">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(310,90)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(410,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,70)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(70,130)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(70,70)" name="Splitter"/>
<comp lib="1" loc="(200,150)" name="AND Gate"/>
<comp lib="1" loc="(200,70)" name="AND Gate"/>
<comp lib="1" loc="(260,100)" name="OR Gate"/>
<comp loc="(120,220)" name="eq0"/>
<comp loc="(120,240)" name="eq0"/>
<comp loc="(170,230)" name="min"/>
<comp loc="(340,100)" name="max"/>
<comp loc="(350,140)" name="const0"/>
<comp loc="(370,110)" name="max"/>
<comp loc="(400,110)" name="eqP"/>
<wire from="(100,110)" to="(100,220)"/>
<wire from="(110,130)" to="(150,130)"/>
<wire from="(110,60)" to="(110,130)"/>
<wire from="(120,150)" to="(120,170)"/>
<wire from="(120,170)" to="(150,170)"/>
<wire from="(120,220)" to="(150,220)"/>
<wire from="(120,240)" to="(150,240)"/>
<wire from="(120,90)" to="(120,140)"/>
<wire from="(120,90)" to="(150,90)"/>
<wire from="(170,230)" to="(320,230)"/>
<wire from="(200,120)" to="(200,150)"/>
<wire from="(200,120)" to="(210,120)"/>
<wire from="(200,70)" to="(200,80)"/>
<wire from="(200,80)" to="(210,80)"/>
<wire from="(260,100)" to="(290,100)"/>
<wire from="(280,110)" to="(290,110)"/>
<wire from="(310,90)" to="(320,90)"/>
<wire from="(320,110)" to="(320,230)"/>
<wire from="(340,100)" to="(350,100)"/>
<wire from="(350,120)" to="(350,140)"/>
<wire from="(370,110)" to="(380,110)"/>
<wire from="(400,110)" to="(410,110)"/>
<wire from="(60,110)" to="(100,110)"/>
<wire from="(60,130)" to="(70,130)"/>
<wire from="(60,70)" to="(60,110)"/>
<wire from="(60,70)" to="(70,70)"/>
<wire from="(70,130)" to="(70,240)"/>
<wire from="(70,240)" to="(100,240)"/>
<wire from="(90,140)" to="(120,140)"/>
<wire from="(90,150)" to="(120,150)"/>
<wire from="(90,50)" to="(150,50)"/>
<wire from="(90,60)" to="(110,60)"/>
</circuit>
<circuit name="eq0">
<a name="appearance" val="custom"/>
<a name="circuit" val="eq0"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="20" x="30" y="50"/>
<polygon fill="#ffffff" points="33,72 35,67 37,72" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="34" y="60"> =0</text>
<circ-anchor facing="east" x="50" y="60"/>
<circ-port dir="in" pin="190,110" x="30" y="60"/>
<circ-port dir="out" pin="430,100" x="50" y="60"/>
</appear>
<comp lib="0" loc="(190,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(200,110)" name="Splitter"/>
<comp lib="0" loc="(280,140)" name="Power">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(420,100)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(430,100)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="1" loc="(310,100)" name="AND Gate">
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(380,120)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<wire from="(190,110)" to="(200,110)"/>
<wire from="(220,100)" to="(220,120)"/>
<wire from="(220,120)" to="(250,120)"/>
<wire from="(220,80)" to="(220,90)"/>
<wire from="(220,80)" to="(250,80)"/>
<wire from="(280,140)" to="(330,140)"/>
<wire from="(310,100)" to="(320,100)"/>
<wire from="(320,90)" to="(320,100)"/>
<wire from="(320,90)" to="(400,90)"/>
<wire from="(380,120)" to="(400,120)"/>
<wire from="(400,90)" to="(400,110)"/>
<wire from="(420,100)" to="(430,100)"/>
</circuit>
<circuit name="eqP">
<a name="appearance" val="custom"/>
<a name="circuit" val="eqP"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="20" x="30" y="50"/>
<polygon fill="#ffffff" points="33,72 35,67 37,72" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="34" y="60"> =+</text>
<circ-anchor facing="east" x="50" y="60"/>
<circ-port dir="in" pin="190,110" x="30" y="60"/>
<circ-port dir="out" pin="430,100" x="50" y="60"/>
</appear>
<comp lib="0" loc="(190,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(200,110)" name="Splitter"/>
<comp lib="0" loc="(280,140)" name="Power">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(420,100)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(430,100)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="1" loc="(310,100)" name="AND Gate">
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(380,120)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<wire from="(190,110)" to="(200,110)"/>
<wire from="(220,100)" to="(220,120)"/>
<wire from="(220,120)" to="(250,120)"/>
<wire from="(220,80)" to="(220,90)"/>
<wire from="(220,80)" to="(260,80)"/>
<wire from="(280,140)" to="(330,140)"/>
<wire from="(310,100)" to="(320,100)"/>
<wire from="(320,90)" to="(320,100)"/>
<wire from="(320,90)" to="(400,90)"/>
<wire from="(380,120)" to="(400,120)"/>
<wire from="(400,90)" to="(400,110)"/>
<wire from="(420,100)" to="(430,100)"/>
</circuit>
<circuit name="eqN">
<a name="appearance" val="custom"/>
<a name="circuit" val="eqN"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="20" x="30" y="50"/>
<polygon fill="#ffffff" points="33,72 35,67 37,72" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="34" y="60"> =-</text>
<circ-anchor facing="east" x="50" y="60"/>
<circ-port dir="in" pin="190,110" x="30" y="60"/>
<circ-port dir="out" pin="430,100" x="50" y="60"/>
</appear>
<comp lib="0" loc="(190,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(200,110)" name="Splitter"/>
<comp lib="0" loc="(280,140)" name="Power">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(420,100)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(430,100)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="1" loc="(310,100)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<comp lib="1" loc="(380,120)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<wire from="(190,110)" to="(200,110)"/>
<wire from="(220,100)" to="(220,120)"/>
<wire from="(220,120)" to="(260,120)"/>
<wire from="(220,80)" to="(220,90)"/>
<wire from="(220,80)" to="(250,80)"/>
<wire from="(280,140)" to="(330,140)"/>
<wire from="(310,100)" to="(320,100)"/>
<wire from="(320,90)" to="(320,100)"/>
<wire from="(320,90)" to="(400,90)"/>
<wire from="(380,120)" to="(400,120)"/>
<wire from="(400,90)" to="(400,110)"/>
<wire from="(420,100)" to="(430,100)"/>
</circuit>
<circuit name="min">
<a name="appearance" val="custom"/>
<a name="circuit" val="min"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="9" x="47" y="50"/>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="24" x="47" y="50"/>
<rect fill="#ffffff" height="18" stroke="#ffffff" width="11" x="48" y="51"/>
<polygon fill="#ffffff" points="51,71 53,66 55,71" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="59" y="60">min</text>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="160,110" x="50" y="70"/>
<circ-port dir="in" pin="160,60" x="50" y="50"/>
<circ-port dir="out" pin="430,70" x="70" y="60"/>
</appear>
<comp lib="0" loc="(160,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(160,60)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(170,110)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(170,60)" name="Splitter">
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(430,70)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(430,70)" name="Splitter">
<a name="appear" val="center"/>
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(360,140)" name="AND Gate"/>
<comp lib="1" loc="(360,70)" name="OR Gate"/>
<wire from="(160,110)" to="(170,110)"/>
<wire from="(160,60)" to="(170,60)"/>
<wire from="(190,120)" to="(240,120)"/>
<wire from="(190,130)" to="(300,130)"/>
<wire from="(190,50)" to="(250,50)"/>
<wire from="(190,60)" to="(300,60)"/>
<wire from="(240,120)" to="(240,160)"/>
<wire from="(240,160)" to="(310,160)"/>
<wire from="(250,120)" to="(310,120)"/>
<wire from="(250,50)" to="(250,120)"/>
<wire from="(300,50)" to="(300,60)"/>
<wire from="(300,50)" to="(310,50)"/>
<wire from="(300,90)" to="(300,130)"/>
<wire from="(300,90)" to="(310,90)"/>
<wire from="(360,140)" to="(400,140)"/>
<wire from="(360,70)" to="(410,70)"/>
<wire from="(400,60)" to="(400,140)"/>
<wire from="(400,60)" to="(410,60)"/>
</circuit>
<circuit name="max">
<a name="appearance" val="custom"/>
<a name="circuit" val="max"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="18" x="54" y="50"/>
<rect fill="#ffffff" height="20" stroke="none" width="12" x="52" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="62" y="59">max</text>
<path d="M50,49 Q53,60 50,71" fill="none" stroke="#000000"/>
<polyline fill="none" points="58,50 50,50" stroke="#000000"/>
<polyline fill="none" points="64,70 51,70" stroke="#000000"/>
<polygon fill="#ffffff" points="55,72 57,68 59,72" stroke="#000000"/>
<polyline fill="none" points="64,50 58,50" stroke="#000000"/>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="160,110" x="50" y="70"/>
<circ-port dir="in" pin="160,60" x="50" y="50"/>
<circ-port dir="out" pin="430,70" x="70" y="60"/>
</appear>
<comp lib="0" loc="(160,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(160,60)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(170,110)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(170,60)" name="Splitter">
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(430,70)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(430,70)" name="Splitter">
<a name="appear" val="center"/>
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(360,140)" name="OR Gate"/>
<comp lib="1" loc="(360,80)" name="AND Gate"/>
<wire from="(160,110)" to="(170,110)"/>
<wire from="(160,60)" to="(170,60)"/>
<wire from="(190,120)" to="(240,120)"/>
<wire from="(190,130)" to="(300,130)"/>
<wire from="(190,50)" to="(250,50)"/>
<wire from="(190,60)" to="(310,60)"/>
<wire from="(240,120)" to="(240,160)"/>
<wire from="(240,160)" to="(310,160)"/>
<wire from="(250,120)" to="(310,120)"/>
<wire from="(250,50)" to="(250,120)"/>
<wire from="(300,100)" to="(300,130)"/>
<wire from="(300,100)" to="(310,100)"/>
<wire from="(360,140)" to="(400,140)"/>
<wire from="(360,80)" to="(370,80)"/>
<wire from="(370,70)" to="(370,80)"/>
<wire from="(370,70)" to="(410,70)"/>
<wire from="(400,60)" to="(400,140)"/>
<wire from="(400,60)" to="(410,60)"/>
</circuit>
<circuit name="amin">
<a name="appearance" val="custom"/>
<a name="circuit" val="amin"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="9" x="49" y="50"/>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="21" x="50" y="50"/>
<rect fill="#ffffff" height="18" stroke="#ffffff" width="8" x="50" y="51"/>
<polygon fill="#ffffff" points="51,71 53,66 55,71" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="61" y="60">amin</text>
<ellipse cx="74" cy="60" fill="#ffffff" rx="3" ry="3" stroke="#000000"/>
<polyline fill="none" points="61,50 56,50" stroke="#000000"/>
<polyline fill="none" points="61,70 57,70" stroke="#000000"/>
<circ-anchor facing="east" x="80" y="60"/>
<circ-port dir="in" pin="160,110" x="50" y="70"/>
<circ-port dir="in" pin="160,60" x="50" y="50"/>
<circ-port dir="out" pin="280,80" x="80" y="60"/>
</appear>
<comp lib="0" loc="(160,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(160,60)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(280,80)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp loc="(220,80)" name="min"/>
<comp loc="(260,80)" name="not3"/>
<wire from="(160,110)" to="(200,110)"/>
<wire from="(160,60)" to="(200,60)"/>
<wire from="(200,60)" to="(200,70)"/>
<wire from="(200,90)" to="(200,110)"/>
<wire from="(220,80)" to="(240,80)"/>
<wire from="(260,80)" to="(280,80)"/>
</circuit>
<circuit name="amax">
<a name="appearance" val="custom"/>
<a name="circuit" val="amax"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="20" x="51" y="50"/>
<rect fill="#ffffff" height="20" stroke="none" width="9" x="51" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="61" y="59">amax</text>
<ellipse cx="74" cy="60" fill="#ffffff" rx="3" ry="3" stroke="#000000"/>
<path d="M50,50 Q52,60 50,70" fill="none" stroke="#000000"/>
<polyline fill="none" points="50,50 60,50" stroke="#000000"/>
<polyline fill="none" points="61,70 50,70" stroke="#000000"/>
<polygon fill="#ffffff" points="53,72 55,67 57,72" stroke="#000000"/>
<circ-anchor facing="east" x="80" y="60"/>
<circ-port dir="in" pin="160,110" x="50" y="70"/>
<circ-port dir="in" pin="160,60" x="50" y="50"/>
<circ-port dir="out" pin="280,80" x="80" y="60"/>
</appear>
<comp lib="0" loc="(160,110)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(160,60)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(280,80)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp loc="(220,80)" name="max"/>
<comp loc="(260,80)" name="not3"/>
<wire from="(160,110)" to="(200,110)"/>
<wire from="(160,60)" to="(200,60)"/>
<wire from="(200,60)" to="(200,70)"/>
<wire from="(200,90)" to="(200,110)"/>
<wire from="(220,80)" to="(240,80)"/>
<wire from="(260,80)" to="(280,80)"/>
</circuit>
<circuit name="xor3">
<a name="appearance" val="custom"/>
<a name="circuit" val="xor3"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<ellipse cx="62" cy="60" fill="#ffffff" rx="7" ry="10" stroke="#000000"/>
<path d="M50,50 Q53,60 50,71" fill="none" stroke="#000000"/>
<polyline fill="none" points="61,70 53,70" stroke="#000000"/>
<polyline fill="none" points="61,50 54,50" stroke="#000000"/>
<polygon fill="#ffffff" points="51,71 53,66 55,71" stroke="#000000"/>
<polyline fill="#ffffff" points="54,51 62,51 56,63" stroke="#ffffff"/>
<polyline fill="#ffffff" points="55,60 55,69 61,69" stroke="#ffffff"/>
<path d="M54,51 Q56,61 54,70" fill="none" stroke="#000000"/>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="150,180" x="50" y="50"/>
<circ-port dir="in" pin="150,240" x="50" y="70"/>
<circ-port dir="out" pin="510,240" x="70" y="60"/>
</appear>
<comp lib="0" loc="(150,180)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(150,240)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(510,240)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp loc="(280,180)" name="not3"/>
<comp loc="(280,260)" name="not3"/>
<comp loc="(330,190)" name="min"/>
<comp loc="(330,250)" name="min"/>
<comp loc="(380,220)" name="max"/>
<wire from="(150,180)" to="(250,180)"/>
<wire from="(150,240)" to="(240,240)"/>
<wire from="(240,200)" to="(240,240)"/>
<wire from="(240,200)" to="(310,200)"/>
<wire from="(240,240)" to="(240,260)"/>
<wire from="(240,260)" to="(260,260)"/>
<wire from="(250,180)" to="(250,240)"/>
<wire from="(250,180)" to="(260,180)"/>
<wire from="(250,240)" to="(310,240)"/>
<wire from="(280,180)" to="(310,180)"/>
<wire from="(280,260)" to="(310,260)"/>
<wire from="(330,190)" to="(360,190)"/>
<wire from="(330,250)" to="(360,250)"/>
<wire from="(360,190)" to="(360,210)"/>
<wire from="(360,230)" to="(360,250)"/>
<wire from="(380,220)" to="(500,220)"/>
<wire from="(500,220)" to="(500,240)"/>
<wire from="(500,240)" to="(510,240)"/>
</circuit>
<circuit name="sum">
<a name="appearance" val="custom"/>
<a name="circuit" val="sum"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<path d="M50,50 Q54,60 50,70" fill="none" stroke="#000000"/>
<rect fill="#ffffff" height="20" stroke="#000000" width="16" x="54" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="62" y="60">sum</text>
<polygon fill="#ffffff" points="57,72 59,67 61,72" stroke="#000000"/>
<circ-anchor facing="east" x="70" y="60"/>
<circ-port dir="in" pin="210,130" x="50" y="50"/>
<circ-port dir="in" pin="210,210" x="50" y="70"/>
<circ-port dir="out" pin="600,180" x="70" y="60"/>
</appear>
<comp lib="0" loc="(210,130)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(210,210)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(600,180)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp loc="(280,210)" name="dec"/>
<comp loc="(280,250)" name="inc"/>
<comp loc="(350,110)" name="eqP"/>
<comp loc="(350,130)" name="eqN"/>
<comp loc="(350,90)" name="eq0"/>
<comp loc="(460,140)" name="min"/>
<comp loc="(460,240)" name="min"/>
<comp loc="(490,170)" name="min"/>
<comp loc="(540,160)" name="max"/>
<comp loc="(580,180)" name="max"/>
<wire from="(210,130)" to="(320,130)"/>
<wire from="(210,210)" to="(230,210)"/>
<wire from="(230,180)" to="(230,210)"/>
<wire from="(230,180)" to="(470,180)"/>
<wire from="(230,210)" to="(230,250)"/>
<wire from="(230,210)" to="(260,210)"/>
<wire from="(230,250)" to="(260,250)"/>
<wire from="(280,210)" to="(440,210)"/>
<wire from="(280,250)" to="(440,250)"/>
<wire from="(320,110)" to="(320,130)"/>
<wire from="(320,110)" to="(330,110)"/>
<wire from="(320,130)" to="(330,130)"/>
<wire from="(320,90)" to="(320,110)"/>
<wire from="(320,90)" to="(330,90)"/>
<wire from="(350,110)" to="(430,110)"/>
<wire from="(350,130)" to="(440,130)"/>
<wire from="(350,90)" to="(380,90)"/>
<wire from="(380,160)" to="(470,160)"/>
<wire from="(380,90)" to="(380,160)"/>
<wire from="(430,110)" to="(430,230)"/>
<wire from="(430,230)" to="(440,230)"/>
<wire from="(440,150)" to="(440,210)"/>
<wire from="(460,140)" to="(520,140)"/>
<wire from="(460,240)" to="(560,240)"/>
<wire from="(490,170)" to="(520,170)"/>
<wire from="(520,140)" to="(520,150)"/>
<wire from="(540,160)" to="(560,160)"/>
<wire from="(560,160)" to="(560,170)"/>
<wire from="(560,190)" to="(560,240)"/>
<wire from="(580,180)" to="(600,180)"/>
</circuit>
<circuit name="const0">
<a name="appearance" val="custom"/>
<a name="circuit" val="const0"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<ellipse cx="60" cy="40" fill="#ffffff" rx="10" ry="10" stroke="#000000"/>
<ellipse cx="60" cy="40" fill="none" rx="4" ry="4" stroke="#000000"/>
<circ-anchor facing="east" x="70" y="40"/>
<circ-port dir="out" pin="210,370" x="70" y="40"/>
</appear>
<comp lib="0" loc="(130,370)" name="Ground">
<a name="facing" val="west"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(210,370)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<wire from="(130,370)" to="(210,370)"/>
</circuit>
<circuit name="constP">
<a name="appearance" val="custom"/>
<a name="circuit" val="constP"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<ellipse cx="40" cy="30" fill="#ffffff" rx="10" ry="10" stroke="#000000"/>
<polyline fill="none" points="40,23 40,36" stroke="#000000"/>
<polyline fill="none" points="33,30 47,30" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="30"/>
<circ-port dir="out" pin="210,400" x="50" y="30"/>
</appear>
<comp lib="0" loc="(180,410)" name="Power">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(180,420)" name="Ground">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(200,400)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(210,400)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<wire from="(200,400)" to="(210,400)"/>
</circuit>
<circuit name="constN">
<a name="appearance" val="custom"/>
<a name="circuit" val="constN"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<ellipse cx="30" cy="20" fill="#ffffff" rx="10" ry="10" stroke="#000000"/>
<polyline fill="none" points="23,20 37,20" stroke="#000000"/>
<circ-anchor facing="east" x="40" y="20"/>
<circ-port dir="out" pin="180,350" x="40" y="20"/>
</appear>
<comp lib="0" loc="(150,360)" name="Ground">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(150,370)" name="Power">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(170,350)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(180,350)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<wire from="(170,350)" to="(180,350)"/>
</circuit>
<circuit name="consensus">
<a name="appearance" val="custom"/>
<a name="circuit" val="consensus"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="21" x="59" y="80"/>
<rect fill="#ffffff" height="20" stroke="#000000" width="10" x="59" y="80"/>
<rect fill="#ffffff" height="18" stroke="#ffffff" width="7" x="63" y="81"/>
<polyline fill="none" points="62,82 62,98" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="8" text-anchor="middle" x="68" y="89">cons</text>
<polygon fill="#ffffff" points="61,102 63,97 65,102" stroke="#000000"/>
<polyline fill="none" points="62,82 64,82" stroke="#000000"/>
<polyline fill="none" points="62,98 64,98" stroke="#000000"/>
<circ-anchor facing="east" x="80" y="90"/>
<circ-port dir="in" pin="60,320" x="60" y="100"/>
<circ-port dir="in" pin="60,360" x="60" y="80"/>
<circ-port dir="out" pin="370,310" x="80" y="90"/>
</appear>
<comp lib="0" loc="(370,310)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,320)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(60,360)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp loc="(150,320)" name="eqN"/>
<comp loc="(150,360)" name="eqN"/>
<comp loc="(180,320)" name="not3"/>
<comp loc="(180,360)" name="not3"/>
<comp loc="(190,410)" name="const0"/>
<comp loc="(220,270)" name="min"/>
<comp loc="(220,320)" name="min"/>
<comp loc="(220,360)" name="min"/>
<comp loc="(310,300)" name="max"/>
<comp loc="(340,310)" name="max"/>
<wire from="(100,280)" to="(100,360)"/>
<wire from="(100,280)" to="(200,280)"/>
<wire from="(100,360)" to="(130,360)"/>
<wire from="(150,320)" to="(160,320)"/>
<wire from="(150,360)" to="(160,360)"/>
<wire from="(180,310)" to="(180,320)"/>
<wire from="(180,310)" to="(200,310)"/>
<wire from="(180,350)" to="(180,360)"/>
<wire from="(180,350)" to="(200,350)"/>
<wire from="(190,330)" to="(190,370)"/>
<wire from="(190,330)" to="(200,330)"/>
<wire from="(190,370)" to="(190,410)"/>
<wire from="(190,370)" to="(200,370)"/>
<wire from="(220,270)" to="(290,270)"/>
<wire from="(220,320)" to="(290,320)"/>
<wire from="(220,360)" to="(320,360)"/>
<wire from="(290,270)" to="(290,290)"/>
<wire from="(290,310)" to="(290,320)"/>
<wire from="(310,300)" to="(320,300)"/>
<wire from="(320,320)" to="(320,360)"/>
<wire from="(340,310)" to="(370,310)"/>
<wire from="(60,320)" to="(70,320)"/>
<wire from="(60,360)" to="(100,360)"/>
<wire from="(70,260)" to="(200,260)"/>
<wire from="(70,260)" to="(70,320)"/>
<wire from="(70,320)" to="(130,320)"/>
</circuit>
<circuit name="any">
<a name="appearance" val="custom"/>
<a name="circuit" val="any"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="20" stroke="#000000" width="7" x="62" y="80"/>
<rect fill="#ffffff" height="20" rx="10" ry="10" stroke="#000000" width="18" x="63" y="80"/>
<rect fill="#ffffff" height="18" stroke="#ffffff" width="9" x="62" y="81"/>
<polyline fill="none" points="60,80 61,80" stroke="#000000"/>
<polyline fill="none" points="60,100 62,100" stroke="#000000"/>
<polygon fill="#ffffff" points="61,102 63,97 65,102" stroke="#000000"/>
<path d="M64,82 Q65,90 64,98" fill="none" stroke="#000000"/>
<polyline fill="none" points="64,82 66,82" stroke="#000000"/>
<polyline fill="none" points="64,98 66,98" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="71" y="89">any</text>
<path d="M60,80 Q63,90 60,100" fill="none" stroke="#000000"/>
<circ-anchor facing="east" x="80" y="90"/>
<circ-port dir="in" pin="50,140" x="60" y="100"/>
<circ-port dir="in" pin="50,80" x="60" y="80"/>
<circ-port dir="out" pin="390,100" x="80" y="90"/>
</appear>
<comp lib="0" loc="(100,140)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(100,80)" name="Splitter"/>
<comp lib="0" loc="(380,100)" name="Splitter">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(390,100)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,140)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(50,80)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="width" val="2"/>
</comp>
<comp lib="1" loc="(220,170)" name="OR Gate"/>
<comp lib="1" loc="(220,60)" name="OR Gate"/>
<comp lib="1" loc="(270,110)" name="AND Gate"/>
<comp lib="1" loc="(340,170)" name="AND Gate">
<a name="negate0" val="true"/>
</comp>
<comp lib="1" loc="(340,70)" name="AND Gate">
<a name="negate1" val="true"/>
</comp>
<wire from="(120,150)" to="(140,150)"/>
<wire from="(120,160)" to="(120,190)"/>
<wire from="(120,190)" to="(170,190)"/>
<wire from="(120,40)" to="(120,60)"/>
<wire from="(120,40)" to="(170,40)"/>
<wire from="(120,70)" to="(160,70)"/>
<wire from="(140,80)" to="(140,150)"/>
<wire from="(140,80)" to="(170,80)"/>
<wire from="(160,150)" to="(170,150)"/>
<wire from="(160,70)" to="(160,150)"/>
<wire from="(220,130)" to="(220,170)"/>
<wire from="(220,170)" to="(280,170)"/>
<wire from="(220,60)" to="(220,90)"/>
<wire from="(220,60)" to="(280,60)"/>
<wire from="(270,110)" to="(270,150)"/>
<wire from="(270,150)" to="(280,150)"/>
<wire from="(270,90)" to="(270,110)"/>
<wire from="(270,90)" to="(280,90)"/>
<wire from="(280,170)" to="(280,190)"/>
<wire from="(280,190)" to="(290,190)"/>
<wire from="(280,50)" to="(280,60)"/>
<wire from="(280,50)" to="(290,50)"/>
<wire from="(340,170)" to="(360,170)"/>
<wire from="(340,70)" to="(360,70)"/>
<wire from="(360,120)" to="(360,170)"/>
<wire from="(360,70)" to="(360,110)"/>
<wire from="(380,100)" to="(390,100)"/>
<wire from="(50,140)" to="(100,140)"/>
<wire from="(50,80)" to="(100,80)"/>
</circuit>
<circuit name="mem">
<a name="appearance" val="custom"/>
<a name="circuit" val="mem"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="16.0"/>
<appear>
<rect fill="#ffffff" height="30" stroke="#000000" width="30" x="50" y="50"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="65" y="65">mem</text>
<circ-anchor facing="east" x="80" y="60"/>
<circ-port dir="in" pin="510,230" x="50" y="60"/>
<circ-port dir="in" pin="510,330" x="50" y="70"/>
<circ-port dir="out" pin="850,240" x="80" y="60"/>
</appear>
<comp lib="0" loc="(510,230)" name="Pin">
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(510,330)" name="Pin">
<a name="width" val="2"/>
</comp>
<comp lib="0" loc="(750,360)" name="Splitter"/>
<comp lib="0" loc="(780,230)" name="Splitter"/>
<comp lib="0" loc="(850,240)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
</comp>
<comp lib="5" loc="(770,340)" name="RGBLED"/>
<comp lib="5" loc="(800,210)" name="RGBLED"/>
<comp loc="(530,370)" name="const0"/>
<comp loc="(570,360)" name="min"/>
<comp loc="(590,330)" name="eqP"/>
<comp loc="(630,310)" name="not3"/>
<comp loc="(700,220)" name="amin"/>
<comp loc="(700,300)" name="amin"/>
<comp loc="(770,240)" name="amin"/>
<comp loc="(770,290)" name="amin"/>
<comp loc="(840,240)" name="xor3"/>
<wire from="(510,230)" to="(610,230)"/>
<wire from="(510,330)" to="(550,330)"/>
<wire from="(530,370)" to="(550,370)"/>
<wire from="(550,330)" to="(550,350)"/>
<wire from="(550,330)" to="(570,330)"/>
<wire from="(570,360)" to="(750,360)"/>
<wire from="(590,330)" to="(640,330)"/>
<wire from="(610,210)" to="(610,230)"/>
<wire from="(610,210)" to="(670,210)"/>
<wire from="(610,230)" to="(610,310)"/>
<wire from="(620,310)" to="(630,310)"/>
<wire from="(630,310)" to="(670,310)"/>
<wire from="(640,260)" to="(640,330)"/>
<wire from="(640,260)" to="(670,260)"/>
<wire from="(670,230)" to="(670,260)"/>
<wire from="(670,260)" to="(670,290)"/>
<wire from="(700,220)" to="(740,220)"/>
<wire from="(700,300)" to="(740,300)"/>
<wire from="(730,250)" to="(730,270)"/>
<wire from="(730,250)" to="(740,250)"/>
<wire from="(730,270)" to="(780,270)"/>
<wire from="(740,220)" to="(740,230)"/>
<wire from="(740,260)" to="(740,280)"/>
<wire from="(740,260)" to="(770,260)"/>
<wire from="(750,360)" to="(820,360)"/>
<wire from="(770,230)" to="(770,240)"/>
<wire from="(770,230)" to="(780,230)"/>
<wire from="(770,240)" to="(770,260)"/>
<wire from="(770,290)" to="(780,290)"/>
<wire from="(770,350)" to="(780,350)"/>
<wire from="(780,230)" to="(820,230)"/>
<wire from="(780,270)" to="(780,290)"/>
<wire from="(800,220)" to="(810,220)"/>
<wire from="(820,250)" to="(820,360)"/>
<wire from="(840,240)" to="(850,240)"/>
</circuit>
</project>