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

373 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="6"/>
<a name="incoming" val="6"/>
<a name="appear" val="center"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</tool>
</lib>
<lib desc="#Plexers" name="2"/>
<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="74LS218"/>
<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="facing" val="north"/>
<a name="size" val="20"/>
</tool>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="74LS218">
<a name="circuit" val="74LS218"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<rect fill="#ffff00" height="200" stroke="#000000" stroke-width="2" width="60" x="50" y="50"/>
<text font-family="SansSerif" font-size="12" font-weight="bold" text-anchor="middle" x="78" y="46">74LS218</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="52" y="64">/S1</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="52" y="74">/S2</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="52" y="84">/S3</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="94">R/W</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="114">A0</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="124">A1</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="134">A2</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="144">A3</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="154">A4</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="174">D0</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="184">D1</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="194">D2</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="204">D3</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="174">Q0</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="184">Q1</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="194">Q2</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="204">Q3</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="214">D4</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="234">D6</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="224">D5</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="244">D7</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="234">Q6</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="244">Q7</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="214">Q4</text>
<text font-family="SansSerif" font-size="10" font-style="italic" text-anchor="start" x="91" y="224">Q5</text>
<circ-port height="8" pin="220,30" width="8" x="46" y="166"/>
<circ-port height="8" pin="220,50" width="8" x="46" y="176"/>
<circ-port height="8" pin="220,70" width="8" x="46" y="186"/>
<circ-port height="8" pin="220,90" width="8" x="46" y="196"/>
<circ-port height="8" pin="80,200" width="8" x="46" y="106"/>
<circ-port height="8" pin="80,220" width="8" x="46" y="116"/>
<circ-port height="8" pin="80,240" width="8" x="46" y="126"/>
<circ-port height="8" pin="80,260" width="8" x="46" y="136"/>
<circ-port height="8" pin="80,280" width="8" x="46" y="146"/>
<circ-port height="8" pin="80,340" width="8" x="46" y="56"/>
<circ-port height="8" pin="80,360" width="8" x="46" y="66"/>
<circ-port height="8" pin="80,380" width="8" x="46" y="76"/>
<circ-port height="8" pin="80,420" width="8" x="46" y="86"/>
<circ-port height="10" pin="480,190" width="10" x="105" y="165"/>
<circ-port height="10" pin="480,210" width="10" x="105" y="175"/>
<circ-port height="10" pin="480,230" width="10" x="105" y="185"/>
<circ-port height="10" pin="480,250" width="10" x="105" y="195"/>
<circ-port height="10" pin="480,270" width="10" x="105" y="205"/>
<circ-port height="10" pin="480,290" width="10" x="105" y="215"/>
<circ-port height="10" pin="480,310" width="10" x="105" y="225"/>
<circ-port height="10" pin="480,330" width="10" x="105" y="235"/>
<circ-port height="8" pin="220,110" width="8" x="46" y="206"/>
<circ-port height="8" pin="220,130" width="8" x="46" y="216"/>
<circ-port height="8" pin="220,150" width="8" x="46" y="226"/>
<circ-port height="8" pin="220,170" width="8" x="46" y="236"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="97"/>
</appear>
<wire from="(410,260)" to="(410,330)"/>
<wire from="(410,200)" to="(470,200)"/>
<wire from="(420,310)" to="(480,310)"/>
<wire from="(220,50)" to="(280,50)"/>
<wire from="(230,160)" to="(290,160)"/>
<wire from="(410,210)" to="(460,210)"/>
<wire from="(160,220)" to="(160,230)"/>
<wire from="(430,290)" to="(480,290)"/>
<wire from="(230,150)" to="(230,160)"/>
<wire from="(90,210)" to="(90,220)"/>
<wire from="(90,370)" to="(90,380)"/>
<wire from="(80,200)" to="(130,200)"/>
<wire from="(100,220)" to="(100,240)"/>
<wire from="(220,270)" to="(220,360)"/>
<wire from="(250,140)" to="(290,140)"/>
<wire from="(220,90)" to="(260,90)"/>
<wire from="(250,110)" to="(250,140)"/>
<wire from="(410,220)" to="(450,220)"/>
<wire from="(440,270)" to="(480,270)"/>
<wire from="(110,230)" to="(110,260)"/>
<wire from="(350,140)" to="(350,230)"/>
<wire from="(80,260)" to="(110,260)"/>
<wire from="(100,220)" to="(130,220)"/>
<wire from="(410,230)" to="(440,230)"/>
<wire from="(450,250)" to="(480,250)"/>
<wire from="(270,120)" to="(290,120)"/>
<wire from="(120,240)" to="(120,280)"/>
<wire from="(410,240)" to="(430,240)"/>
<wire from="(460,230)" to="(480,230)"/>
<wire from="(220,130)" to="(240,130)"/>
<wire from="(410,250)" to="(420,250)"/>
<wire from="(470,210)" to="(480,210)"/>
<wire from="(140,360)" to="(220,360)"/>
<wire from="(350,230)" to="(360,230)"/>
<wire from="(340,140)" to="(350,140)"/>
<wire from="(270,70)" to="(270,120)"/>
<wire from="(120,240)" to="(130,240)"/>
<wire from="(90,370)" to="(100,370)"/>
<wire from="(80,220)" to="(90,220)"/>
<wire from="(90,350)" to="(100,350)"/>
<wire from="(80,340)" to="(90,340)"/>
<wire from="(80,380)" to="(90,380)"/>
<wire from="(220,170)" to="(290,170)"/>
<wire from="(220,30)" to="(290,30)"/>
<wire from="(260,290)" to="(330,290)"/>
<wire from="(290,30)" to="(290,100)"/>
<wire from="(260,290)" to="(260,420)"/>
<wire from="(90,340)" to="(90,350)"/>
<wire from="(470,200)" to="(470,210)"/>
<wire from="(220,70)" to="(270,70)"/>
<wire from="(80,420)" to="(260,420)"/>
<wire from="(240,150)" to="(290,150)"/>
<wire from="(260,270)" to="(260,290)"/>
<wire from="(460,210)" to="(460,230)"/>
<wire from="(240,130)" to="(240,150)"/>
<wire from="(450,220)" to="(450,250)"/>
<wire from="(90,210)" to="(130,210)"/>
<wire from="(80,280)" to="(120,280)"/>
<wire from="(310,230)" to="(350,230)"/>
<wire from="(330,290)" to="(370,290)"/>
<wire from="(220,110)" to="(250,110)"/>
<wire from="(260,130)" to="(290,130)"/>
<wire from="(260,90)" to="(260,130)"/>
<wire from="(80,240)" to="(100,240)"/>
<wire from="(110,230)" to="(130,230)"/>
<wire from="(80,360)" to="(100,360)"/>
<wire from="(440,230)" to="(440,270)"/>
<wire from="(310,140)" to="(320,140)"/>
<wire from="(280,110)" to="(290,110)"/>
<wire from="(380,230)" to="(390,230)"/>
<wire from="(430,240)" to="(430,290)"/>
<wire from="(160,230)" to="(170,230)"/>
<wire from="(150,220)" to="(160,220)"/>
<wire from="(220,150)" to="(230,150)"/>
<wire from="(370,240)" to="(370,290)"/>
<wire from="(280,50)" to="(280,110)"/>
<wire from="(420,250)" to="(420,310)"/>
<wire from="(410,330)" to="(480,330)"/>
<wire from="(410,190)" to="(480,190)"/>
<wire from="(330,170)" to="(330,290)"/>
<comp lib="0" loc="(80,200)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A0"/>
</comp>
<comp lib="0" loc="(220,150)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D6"/>
</comp>
<comp lib="6" loc="(87,126)" name="Text">
<a name="text" val="74LS218"/>
<a name="font" val="SansSerif bold 24"/>
</comp>
<comp lib="0" loc="(150,220)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(80,280)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A4"/>
</comp>
<comp lib="0" loc="(480,230)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q2"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(140,360)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
<a name="negate0" val="true"/>
<a name="negate1" val="true"/>
<a name="negate2" val="true"/>
</comp>
<comp lib="0" loc="(480,210)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q1"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(220,50)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D1"/>
</comp>
<comp lib="1" loc="(330,150)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(340,140)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(80,260)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A3"/>
</comp>
<comp lib="0" loc="(220,170)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D7"/>
</comp>
<comp lib="0" loc="(310,140)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(80,220)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A1"/>
</comp>
<comp lib="0" loc="(480,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q0"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(220,70)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D2"/>
</comp>
<comp lib="0" loc="(220,30)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D0"/>
</comp>
<comp lib="0" loc="(80,360)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/S2"/>
</comp>
<comp lib="0" loc="(80,420)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="R/W"/>
</comp>
<comp lib="0" loc="(390,230)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(80,380)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/S3"/>
</comp>
<comp lib="0" loc="(80,340)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/S1"/>
</comp>
<comp lib="0" loc="(480,270)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q4"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(220,130)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D5"/>
</comp>
<comp lib="0" loc="(480,290)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q5"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(80,240)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A2"/>
</comp>
<comp lib="0" loc="(480,250)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q3"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(310,230)" name="RAM">
<a name="addrWidth" val="5"/>
<a name="bus" val="asynch"/>
</comp>
<comp lib="0" loc="(480,330)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q7"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(480,310)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Q6"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(220,90)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D3"/>
</comp>
<comp lib="0" loc="(220,110)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D4"/>
</comp>
<comp lib="1" loc="(380,230)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
</circuit>
</project>