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

487 lines
19 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"/>
<lib desc="#Gates" name="1">
<tool name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</lib>
<lib desc="#Plexers" name="2"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4"/>
<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="74LS161"/>
<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="74LS161">
<a name="circuit" val="74LS161"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<rect fill="#ffff00" height="121" stroke="#000000" stroke-width="2" width="70" x="50" y="50"/>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="64" y="64">/CLR</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="65" y="94">ENT</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="65" y="104">ENP</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="69" y="74">/LOAD</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="64" y="114">CLK</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="58" y="134">A</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="58" y="144">B</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="57" y="154">C</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="58" y="164">D</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="107" y="134">QA</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="107" y="144">QB</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="107" y="154">QC</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="107" y="164">QD</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="104" y="84">RCO</text>
<text font-family="SansSerif" font-size="14" font-weight="bold" text-anchor="middle" x="84" y="47">74LS161</text>
<circ-port height="8" pin="80,50" width="8" x="46" y="66"/>
<circ-port height="8" pin="80,110" width="8" x="46" y="126"/>
<circ-port height="8" pin="80,250" width="8" x="46" y="136"/>
<circ-port height="8" pin="80,290" width="8" x="46" y="106"/>
<circ-port height="8" pin="80,390" width="8" x="46" y="146"/>
<circ-port height="8" pin="80,530" width="8" x="46" y="156"/>
<circ-port height="8" pin="80,570" width="8" x="46" y="56"/>
<circ-port height="8" pin="80,600" width="8" x="46" y="96"/>
<circ-port height="8" pin="80,620" width="8" x="46" y="86"/>
<circ-port height="10" pin="810,80" width="10" x="115" y="125"/>
<circ-port height="10" pin="810,220" width="10" x="115" y="135"/>
<circ-port height="10" pin="810,360" width="10" x="115" y="145"/>
<circ-port height="10" pin="810,500" width="10" x="115" y="155"/>
<circ-port height="10" pin="810,630" width="10" x="115" y="75"/>
<circ-anchor facing="east" height="6" width="6" x="87" y="137"/>
</appear>
<wire from="(670,350)" to="(670,360)"/>
<wire from="(670,70)" to="(670,80)"/>
<wire from="(590,130)" to="(710,130)"/>
<wire from="(590,410)" to="(710,410)"/>
<wire from="(580,220)" to="(580,230)"/>
<wire from="(580,500)" to="(580,510)"/>
<wire from="(460,370)" to="(520,370)"/>
<wire from="(460,90)" to="(520,90)"/>
<wire from="(590,130)" to="(590,270)"/>
<wire from="(590,410)" to="(590,550)"/>
<wire from="(250,510)" to="(250,640)"/>
<wire from="(270,490)" to="(270,630)"/>
<wire from="(250,160)" to="(740,160)"/>
<wire from="(120,650)" to="(680,650)"/>
<wire from="(230,370)" to="(230,520)"/>
<wire from="(710,630)" to="(810,630)"/>
<wire from="(590,550)" to="(590,570)"/>
<wire from="(710,110)" to="(710,130)"/>
<wire from="(710,390)" to="(710,410)"/>
<wire from="(450,100)" to="(540,100)"/>
<wire from="(450,380)" to="(540,380)"/>
<wire from="(660,610)" to="(680,610)"/>
<wire from="(580,360)" to="(610,360)"/>
<wire from="(580,80)" to="(610,80)"/>
<wire from="(580,240)" to="(610,240)"/>
<wire from="(580,520)" to="(610,520)"/>
<wire from="(270,310)" to="(270,350)"/>
<wire from="(450,50)" to="(450,100)"/>
<wire from="(450,330)" to="(450,380)"/>
<wire from="(450,130)" to="(450,190)"/>
<wire from="(290,440)" to="(740,440)"/>
<wire from="(450,410)" to="(450,470)"/>
<wire from="(670,230)" to="(680,230)"/>
<wire from="(670,510)" to="(680,510)"/>
<wire from="(570,370)" to="(580,370)"/>
<wire from="(570,90)" to="(580,90)"/>
<wire from="(670,240)" to="(670,250)"/>
<wire from="(670,520)" to="(670,530)"/>
<wire from="(580,230)" to="(580,240)"/>
<wire from="(580,510)" to="(580,520)"/>
<wire from="(80,600)" to="(140,600)"/>
<wire from="(170,610)" to="(230,610)"/>
<wire from="(600,90)" to="(650,90)"/>
<wire from="(600,370)" to="(650,370)"/>
<wire from="(290,480)" to="(290,620)"/>
<wire from="(740,500)" to="(740,570)"/>
<wire from="(230,230)" to="(340,230)"/>
<wire from="(740,220)" to="(740,310)"/>
<wire from="(460,70)" to="(460,90)"/>
<wire from="(460,350)" to="(460,370)"/>
<wire from="(370,360)" to="(540,360)"/>
<wire from="(510,480)" to="(610,480)"/>
<wire from="(250,360)" to="(250,510)"/>
<wire from="(520,370)" to="(520,400)"/>
<wire from="(450,100)" to="(450,130)"/>
<wire from="(450,380)" to="(450,410)"/>
<wire from="(520,90)" to="(520,120)"/>
<wire from="(80,620)" to="(120,620)"/>
<wire from="(510,200)" to="(610,200)"/>
<wire from="(80,50)" to="(180,50)"/>
<wire from="(250,510)" to="(340,510)"/>
<wire from="(120,290)" to="(600,290)"/>
<wire from="(720,80)" to="(740,80)"/>
<wire from="(720,360)" to="(740,360)"/>
<wire from="(450,330)" to="(470,330)"/>
<wire from="(450,50)" to="(470,50)"/>
<wire from="(450,130)" to="(470,130)"/>
<wire from="(640,70)" to="(670,70)"/>
<wire from="(640,390)" to="(670,390)"/>
<wire from="(640,110)" to="(670,110)"/>
<wire from="(640,350)" to="(670,350)"/>
<wire from="(450,410)" to="(470,410)"/>
<wire from="(520,260)" to="(610,260)"/>
<wire from="(520,540)" to="(610,540)"/>
<wire from="(510,120)" to="(520,120)"/>
<wire from="(460,70)" to="(470,70)"/>
<wire from="(740,500)" to="(810,500)"/>
<wire from="(510,400)" to="(520,400)"/>
<wire from="(460,350)" to="(470,350)"/>
<wire from="(740,220)" to="(810,220)"/>
<wire from="(80,570)" to="(90,570)"/>
<wire from="(660,570)" to="(740,570)"/>
<wire from="(80,250)" to="(470,250)"/>
<wire from="(80,530)" to="(470,530)"/>
<wire from="(670,360)" to="(680,360)"/>
<wire from="(670,520)" to="(680,520)"/>
<wire from="(670,80)" to="(680,80)"/>
<wire from="(670,240)" to="(680,240)"/>
<wire from="(270,350)" to="(340,350)"/>
<wire from="(290,620)" to="(680,620)"/>
<wire from="(670,210)" to="(670,220)"/>
<wire from="(670,490)" to="(670,500)"/>
<wire from="(590,550)" to="(710,550)"/>
<wire from="(590,270)" to="(710,270)"/>
<wire from="(580,360)" to="(580,370)"/>
<wire from="(580,80)" to="(580,90)"/>
<wire from="(460,230)" to="(520,230)"/>
<wire from="(460,510)" to="(520,510)"/>
<wire from="(200,50)" to="(450,50)"/>
<wire from="(590,270)" to="(590,410)"/>
<wire from="(270,350)" to="(270,490)"/>
<wire from="(230,230)" to="(230,370)"/>
<wire from="(230,520)" to="(340,520)"/>
<wire from="(250,210)" to="(250,360)"/>
<wire from="(230,520)" to="(230,610)"/>
<wire from="(600,290)" to="(600,370)"/>
<wire from="(120,620)" to="(120,650)"/>
<wire from="(710,250)" to="(710,270)"/>
<wire from="(710,530)" to="(710,550)"/>
<wire from="(450,240)" to="(540,240)"/>
<wire from="(450,520)" to="(540,520)"/>
<wire from="(250,360)" to="(340,360)"/>
<wire from="(270,630)" to="(680,630)"/>
<wire from="(110,570)" to="(590,570)"/>
<wire from="(580,220)" to="(610,220)"/>
<wire from="(580,380)" to="(610,380)"/>
<wire from="(580,100)" to="(610,100)"/>
<wire from="(580,500)" to="(610,500)"/>
<wire from="(80,290)" to="(100,290)"/>
<wire from="(450,190)" to="(450,240)"/>
<wire from="(450,470)" to="(450,520)"/>
<wire from="(450,270)" to="(450,330)"/>
<wire from="(670,90)" to="(680,90)"/>
<wire from="(670,370)" to="(680,370)"/>
<wire from="(570,230)" to="(580,230)"/>
<wire from="(570,510)" to="(580,510)"/>
<wire from="(670,100)" to="(670,110)"/>
<wire from="(670,380)" to="(670,390)"/>
<wire from="(580,90)" to="(580,100)"/>
<wire from="(580,370)" to="(580,380)"/>
<wire from="(600,90)" to="(600,230)"/>
<wire from="(600,370)" to="(600,510)"/>
<wire from="(600,510)" to="(650,510)"/>
<wire from="(600,230)" to="(650,230)"/>
<wire from="(230,80)" to="(540,80)"/>
<wire from="(290,480)" to="(340,480)"/>
<wire from="(230,370)" to="(340,370)"/>
<wire from="(460,210)" to="(460,230)"/>
<wire from="(370,500)" to="(540,500)"/>
<wire from="(370,220)" to="(540,220)"/>
<wire from="(460,490)" to="(460,510)"/>
<wire from="(230,80)" to="(230,230)"/>
<wire from="(520,510)" to="(520,540)"/>
<wire from="(250,640)" to="(680,640)"/>
<wire from="(450,240)" to="(450,270)"/>
<wire from="(520,230)" to="(520,260)"/>
<wire from="(450,520)" to="(450,550)"/>
<wire from="(510,340)" to="(610,340)"/>
<wire from="(740,360)" to="(740,440)"/>
<wire from="(510,60)" to="(610,60)"/>
<wire from="(740,80)" to="(740,160)"/>
<wire from="(520,120)" to="(610,120)"/>
<wire from="(660,570)" to="(660,610)"/>
<wire from="(250,210)" to="(340,210)"/>
<wire from="(720,500)" to="(740,500)"/>
<wire from="(720,220)" to="(740,220)"/>
<wire from="(450,190)" to="(470,190)"/>
<wire from="(450,270)" to="(470,270)"/>
<wire from="(450,470)" to="(470,470)"/>
<wire from="(640,250)" to="(670,250)"/>
<wire from="(640,490)" to="(670,490)"/>
<wire from="(640,530)" to="(670,530)"/>
<wire from="(640,210)" to="(670,210)"/>
<wire from="(450,550)" to="(470,550)"/>
<wire from="(290,440)" to="(290,480)"/>
<wire from="(120,620)" to="(140,620)"/>
<wire from="(520,400)" to="(610,400)"/>
<wire from="(270,310)" to="(740,310)"/>
<wire from="(460,490)" to="(470,490)"/>
<wire from="(250,160)" to="(250,210)"/>
<wire from="(740,360)" to="(810,360)"/>
<wire from="(510,540)" to="(520,540)"/>
<wire from="(510,260)" to="(520,260)"/>
<wire from="(460,210)" to="(470,210)"/>
<wire from="(740,80)" to="(810,80)"/>
<wire from="(600,230)" to="(600,290)"/>
<wire from="(80,110)" to="(470,110)"/>
<wire from="(80,390)" to="(470,390)"/>
<wire from="(670,220)" to="(680,220)"/>
<wire from="(670,380)" to="(680,380)"/>
<wire from="(670,100)" to="(680,100)"/>
<wire from="(670,500)" to="(680,500)"/>
<wire from="(270,490)" to="(340,490)"/>
<comp lib="0" loc="(810,630)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="RCO"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(640,530)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,620)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="ENT"/>
</comp>
<comp lib="1" loc="(120,290)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(510,120)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,390)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(720,360)" name="J-K Flip-Flop"/>
<comp lib="1" loc="(570,510)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="6" loc="(297,31)" name="Text">
<a name="text" val="74LS161"/>
<a name="font" val="SansSerif bold 24"/>
</comp>
<comp lib="1" loc="(510,260)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,350)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,50)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/LOAD"/>
</comp>
<comp lib="1" loc="(670,370)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(370,360)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(810,80)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="QA"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(810,500)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="QD"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(370,500)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(570,90)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(370,220)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,250)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(670,90)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(170,610)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,490)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,390)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="DATA C"/>
</comp>
<comp lib="1" loc="(510,340)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,600)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="ENP"/>
</comp>
<comp lib="4" loc="(720,220)" name="J-K Flip-Flop"/>
<comp lib="1" loc="(570,230)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(720,500)" name="J-K Flip-Flop"/>
<comp lib="0" loc="(80,290)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="CLK"/>
</comp>
<comp lib="1" loc="(510,60)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,570)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/CLR"/>
</comp>
<comp lib="1" loc="(640,110)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,70)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(720,80)" name="J-K Flip-Flop"/>
<comp lib="0" loc="(810,220)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="QB"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(510,400)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,250)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="DATA B"/>
</comp>
<comp lib="1" loc="(670,510)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(710,630)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(510,540)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(510,200)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(110,570)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(80,110)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="DATA A"/>
</comp>
<comp lib="1" loc="(510,480)" name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(640,210)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,530)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="DATA D"/>
</comp>
<comp lib="1" loc="(670,230)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(570,370)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(200,50)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(810,360)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="QC"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
</project>