Files
2025-12-31 19:35:06 +08:00

399 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Demultiplexer">
<a name="select" val="4"/>
</tool>
<tool name="Decoder">
<a name="select" val="4"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#I/O" name="5"/>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<main name="74LS159"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="6" map="Button2" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
<tool lib="6" name="Edit Tool"/>
<tool lib="6" name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
<sep/>
<tool lib="0" name="Pin">
<a name="tristate" val="false"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="74LS159">
<a name="circuit" val="74LS159"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<rect fill="#ffff00" height="170" stroke="#000000" stroke-width="2" width="60" x="50" y="50"/>
<text font-family="SansSerif" font-size="12" font-weight="bold" text-anchor="start" x="50" y="46">74LS159</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="52" y="64">/G1</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="52" y="74">/G2</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="94">A</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="104">B</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="114">C</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="124">D</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="64">0</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="74">1</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="84">2</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="94">3</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="104">4</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="114">5</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="124">6</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="134">7</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="144">8</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="98" y="154">9</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="164">10</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="174">11</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="184">12</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="194">13</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="204">14</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="91" y="214">15</text>
<circ-port height="8" pin="80,260" width="8" x="46" y="56"/>
<circ-port height="8" pin="80,280" width="8" x="46" y="66"/>
<circ-port height="8" pin="80,310" width="8" x="46" y="86"/>
<circ-port height="8" pin="80,330" width="8" x="46" y="96"/>
<circ-port height="8" pin="80,350" width="8" x="46" y="106"/>
<circ-port height="8" pin="80,370" width="8" x="46" y="116"/>
<circ-port height="10" pin="310,30" width="10" x="105" y="55"/>
<circ-port height="10" pin="310,50" width="10" x="105" y="65"/>
<circ-port height="10" pin="310,70" width="10" x="105" y="75"/>
<circ-port height="10" pin="310,90" width="10" x="105" y="85"/>
<circ-port height="10" pin="310,110" width="10" x="105" y="95"/>
<circ-port height="10" pin="310,130" width="10" x="105" y="105"/>
<circ-port height="10" pin="310,150" width="10" x="105" y="115"/>
<circ-port height="10" pin="310,170" width="10" x="105" y="125"/>
<circ-port height="10" pin="310,190" width="10" x="105" y="135"/>
<circ-port height="10" pin="310,210" width="10" x="105" y="145"/>
<circ-port height="10" pin="310,230" width="10" x="105" y="155"/>
<circ-port height="10" pin="310,250" width="10" x="105" y="165"/>
<circ-port height="10" pin="310,270" width="10" x="105" y="175"/>
<circ-port height="10" pin="310,290" width="10" x="105" y="185"/>
<circ-port height="10" pin="310,310" width="10" x="105" y="195"/>
<circ-port height="10" pin="310,330" width="10" x="105" y="205"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="137"/>
</appear>
<wire from="(80,310)" to="(140,310)"/>
<wire from="(240,50)" to="(240,120)"/>
<wire from="(300,200)" to="(300,210)"/>
<wire from="(290,210)" to="(290,230)"/>
<wire from="(290,150)" to="(290,170)"/>
<wire from="(100,330)" to="(140,330)"/>
<wire from="(280,220)" to="(280,250)"/>
<wire from="(210,190)" to="(310,190)"/>
<wire from="(210,180)" to="(300,180)"/>
<wire from="(210,200)" to="(300,200)"/>
<wire from="(270,110)" to="(270,150)"/>
<wire from="(270,230)" to="(270,270)"/>
<wire from="(80,350)" to="(100,350)"/>
<wire from="(210,170)" to="(290,170)"/>
<wire from="(210,210)" to="(290,210)"/>
<wire from="(230,30)" to="(310,30)"/>
<wire from="(180,140)" to="(190,140)"/>
<wire from="(180,180)" to="(190,180)"/>
<wire from="(180,220)" to="(190,220)"/>
<wire from="(180,260)" to="(190,260)"/>
<wire from="(180,160)" to="(190,160)"/>
<wire from="(180,200)" to="(190,200)"/>
<wire from="(180,120)" to="(190,120)"/>
<wire from="(180,240)" to="(190,240)"/>
<wire from="(260,240)" to="(260,290)"/>
<wire from="(80,280)" to="(90,280)"/>
<wire from="(80,260)" to="(90,260)"/>
<wire from="(210,160)" to="(280,160)"/>
<wire from="(210,220)" to="(280,220)"/>
<wire from="(240,50)" to="(310,50)"/>
<wire from="(240,330)" to="(310,330)"/>
<wire from="(250,250)" to="(250,310)"/>
<wire from="(250,70)" to="(250,130)"/>
<wire from="(240,260)" to="(240,330)"/>
<wire from="(250,70)" to="(310,70)"/>
<wire from="(250,310)" to="(310,310)"/>
<wire from="(210,150)" to="(270,150)"/>
<wire from="(210,230)" to="(270,230)"/>
<wire from="(260,90)" to="(310,90)"/>
<wire from="(260,290)" to="(310,290)"/>
<wire from="(90,320)" to="(90,330)"/>
<wire from="(210,140)" to="(260,140)"/>
<wire from="(210,240)" to="(260,240)"/>
<wire from="(300,170)" to="(300,180)"/>
<wire from="(90,320)" to="(140,320)"/>
<wire from="(230,30)" to="(230,110)"/>
<wire from="(100,330)" to="(100,350)"/>
<wire from="(280,130)" to="(280,160)"/>
<wire from="(210,130)" to="(250,130)"/>
<wire from="(210,250)" to="(250,250)"/>
<wire from="(270,110)" to="(310,110)"/>
<wire from="(270,270)" to="(310,270)"/>
<wire from="(160,270)" to="(160,300)"/>
<wire from="(110,340)" to="(110,370)"/>
<wire from="(210,120)" to="(240,120)"/>
<wire from="(210,260)" to="(240,260)"/>
<wire from="(110,340)" to="(140,340)"/>
<wire from="(80,370)" to="(110,370)"/>
<wire from="(280,130)" to="(310,130)"/>
<wire from="(280,250)" to="(310,250)"/>
<wire from="(290,150)" to="(310,150)"/>
<wire from="(290,230)" to="(310,230)"/>
<wire from="(130,270)" to="(150,270)"/>
<wire from="(210,110)" to="(230,110)"/>
<wire from="(260,90)" to="(260,140)"/>
<wire from="(300,170)" to="(310,170)"/>
<wire from="(300,210)" to="(310,210)"/>
<wire from="(180,150)" to="(190,150)"/>
<wire from="(180,190)" to="(190,190)"/>
<wire from="(180,110)" to="(190,110)"/>
<wire from="(180,230)" to="(190,230)"/>
<wire from="(180,170)" to="(190,170)"/>
<wire from="(180,130)" to="(190,130)"/>
<wire from="(180,210)" to="(190,210)"/>
<wire from="(180,250)" to="(190,250)"/>
<wire from="(80,330)" to="(90,330)"/>
<comp lib="0" loc="(310,90)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="3"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,210)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,190)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,200)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,230)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(310,230)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="10"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,240)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,130)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,160)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(310,270)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="12"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,250)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="11"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,70)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="2"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,150)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(80,350)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="C"/>
</comp>
<comp lib="0" loc="(80,330)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="0" loc="(80,310)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(80,260)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/G1"/>
</comp>
<comp lib="1" loc="(210,220)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,260)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(80,370)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D"/>
</comp>
<comp lib="0" loc="(310,130)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="5"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(160,270)" name="Decoder">
<a name="select" val="4"/>
<a name="disabled" val="0"/>
</comp>
<comp lib="1" loc="(130,270)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(310,170)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="7"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,110)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="4"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,150)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="6"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="6" loc="(131,74)" name="Text">
<a name="text" val="74LS159"/>
<a name="font" val="SansSerif bold 24"/>
</comp>
<comp lib="0" loc="(160,300)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(310,30)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="0"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="8"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,210)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="9"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,120)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(310,310)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="14"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,290)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="13"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,50)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="1"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,140)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,110)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(310,330)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="15"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(210,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(80,280)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/G2"/>
</comp>
<comp lib="1" loc="(210,250)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(210,170)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
</circuit>
</project>