Files
hardware/Logisim/7400-logisim-main/circ/74LS99.circ
2025-12-31 19:35:06 +08:00

461 lines
18 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="Pin">
<a name="output" val="true"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="Buffer">
<a name="facing" val="west"/>
</tool>
<tool name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="4"/>
</tool>
<tool name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NOR 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="74LS99"/>
<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="74LS99">
<a name="circuit" val="74LS99"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<rect fill="#ffff00" height="120" 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="61" y="63">J</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="59" y="74">/K</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="57" y="94">A</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="57" y="104">B</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="56" y="114">C</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="middle" x="57" y="124">D</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="53" y="144">MODE</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="154">CLK1 RS</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="54" y="164">CLK2 LS</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="100" y="94">QA</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="100" y="104">QB</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="100" y="114">QC</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="100" y="124">QD</text>
<text font-family="SansSerif" font-size="10" font-weight="bold" text-anchor="start" x="96" y="134">/QD</text>
<text font-family="SansSerif" font-size="14" font-weight="bold" text-anchor="start" x="54" y="46">74LS99</text>
<circ-port height="8" pin="100,80" width="8" x="46" y="56"/>
<circ-port height="8" pin="100,170" width="8" x="46" y="66"/>
<circ-port height="8" pin="100,250" width="8" x="46" y="86"/>
<circ-port height="8" pin="100,360" width="8" x="46" y="96"/>
<circ-port height="8" pin="100,460" width="8" x="46" y="106"/>
<circ-port height="8" pin="100,560" width="8" x="46" y="116"/>
<circ-port height="8" pin="100,620" width="8" x="46" y="136"/>
<circ-port height="8" pin="100,650" width="8" x="46" y="146"/>
<circ-port height="8" pin="100,690" width="8" x="46" y="156"/>
<circ-port height="10" pin="540,170" width="10" x="115" y="85"/>
<circ-port height="10" pin="540,330" width="10" x="115" y="95"/>
<circ-port height="10" pin="540,430" width="10" x="115" y="105"/>
<circ-port height="10" pin="540,530" width="10" x="115" y="115"/>
<circ-port height="10" pin="540,550" width="10" x="115" y="125"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="97"/>
</appear>
<wire from="(320,190)" to="(380,190)"/>
<wire from="(360,270)" to="(360,340)"/>
<wire from="(240,190)" to="(300,190)"/>
<wire from="(240,440)" to="(240,450)"/>
<wire from="(240,640)" to="(240,650)"/>
<wire from="(290,210)" to="(340,210)"/>
<wire from="(290,330)" to="(340,330)"/>
<wire from="(290,530)" to="(340,530)"/>
<wire from="(360,440)" to="(410,440)"/>
<wire from="(340,140)" to="(340,150)"/>
<wire from="(170,610)" to="(170,630)"/>
<wire from="(180,380)" to="(180,400)"/>
<wire from="(240,120)" to="(240,140)"/>
<wire from="(230,190)" to="(230,210)"/>
<wire from="(170,520)" to="(170,610)"/>
<wire from="(150,440)" to="(190,440)"/>
<wire from="(150,240)" to="(190,240)"/>
<wire from="(160,200)" to="(160,230)"/>
<wire from="(230,110)" to="(230,140)"/>
<wire from="(160,100)" to="(190,100)"/>
<wire from="(340,350)" to="(430,350)"/>
<wire from="(340,550)" to="(430,550)"/>
<wire from="(510,170)" to="(540,170)"/>
<wire from="(510,330)" to="(540,330)"/>
<wire from="(150,340)" to="(150,440)"/>
<wire from="(170,320)" to="(170,420)"/>
<wire from="(150,140)" to="(150,240)"/>
<wire from="(100,170)" to="(120,170)"/>
<wire from="(170,520)" to="(190,520)"/>
<wire from="(170,320)" to="(190,320)"/>
<wire from="(220,410)" to="(240,410)"/>
<wire from="(230,100)" to="(250,100)"/>
<wire from="(230,220)" to="(250,220)"/>
<wire from="(220,450)" to="(240,450)"/>
<wire from="(180,500)" to="(190,500)"/>
<wire from="(180,300)" to="(190,300)"/>
<wire from="(180,180)" to="(190,180)"/>
<wire from="(280,660)" to="(360,660)"/>
<wire from="(240,200)" to="(250,200)"/>
<wire from="(220,140)" to="(230,140)"/>
<wire from="(240,120)" to="(250,120)"/>
<wire from="(240,320)" to="(250,320)"/>
<wire from="(240,440)" to="(250,440)"/>
<wire from="(240,520)" to="(250,520)"/>
<wire from="(510,430)" to="(510,480)"/>
<wire from="(340,330)" to="(410,330)"/>
<wire from="(340,530)" to="(410,530)"/>
<wire from="(150,600)" to="(150,610)"/>
<wire from="(180,50)" to="(490,50)"/>
<wire from="(240,410)" to="(240,420)"/>
<wire from="(380,190)" to="(430,190)"/>
<wire from="(340,430)" to="(340,450)"/>
<wire from="(150,640)" to="(150,670)"/>
<wire from="(470,170)" to="(510,170)"/>
<wire from="(470,330)" to="(510,330)"/>
<wire from="(160,230)" to="(190,230)"/>
<wire from="(360,440)" to="(360,540)"/>
<wire from="(290,110)" to="(380,110)"/>
<wire from="(110,150)" to="(110,250)"/>
<wire from="(180,180)" to="(180,280)"/>
<wire from="(100,560)" to="(190,560)"/>
<wire from="(100,360)" to="(190,360)"/>
<wire from="(100,80)" to="(190,80)"/>
<wire from="(410,170)" to="(430,170)"/>
<wire from="(470,190)" to="(490,190)"/>
<wire from="(170,210)" to="(170,320)"/>
<wire from="(170,210)" to="(190,210)"/>
<wire from="(230,110)" to="(250,110)"/>
<wire from="(130,620)" to="(130,670)"/>
<wire from="(180,70)" to="(190,70)"/>
<wire from="(220,190)" to="(230,190)"/>
<wire from="(240,650)" to="(250,650)"/>
<wire from="(180,280)" to="(510,280)"/>
<wire from="(180,480)" to="(510,480)"/>
<wire from="(340,150)" to="(340,210)"/>
<wire from="(470,550)" to="(540,550)"/>
<wire from="(160,130)" to="(160,200)"/>
<wire from="(150,610)" to="(150,620)"/>
<wire from="(240,340)" to="(240,350)"/>
<wire from="(230,90)" to="(230,100)"/>
<wire from="(240,540)" to="(240,550)"/>
<wire from="(290,430)" to="(340,430)"/>
<wire from="(360,180)" to="(410,180)"/>
<wire from="(490,50)" to="(490,190)"/>
<wire from="(360,340)" to="(410,340)"/>
<wire from="(360,540)" to="(410,540)"/>
<wire from="(410,150)" to="(410,170)"/>
<wire from="(380,110)" to="(380,190)"/>
<wire from="(180,480)" to="(180,500)"/>
<wire from="(180,280)" to="(180,300)"/>
<wire from="(150,140)" to="(190,140)"/>
<wire from="(150,540)" to="(190,540)"/>
<wire from="(150,340)" to="(190,340)"/>
<wire from="(160,100)" to="(160,130)"/>
<wire from="(160,200)" to="(190,200)"/>
<wire from="(100,620)" to="(130,620)"/>
<wire from="(340,450)" to="(430,450)"/>
<wire from="(510,430)" to="(540,430)"/>
<wire from="(150,440)" to="(150,540)"/>
<wire from="(170,420)" to="(170,520)"/>
<wire from="(150,240)" to="(150,340)"/>
<wire from="(100,690)" to="(190,690)"/>
<wire from="(100,650)" to="(190,650)"/>
<wire from="(170,420)" to="(190,420)"/>
<wire from="(220,550)" to="(240,550)"/>
<wire from="(220,310)" to="(240,310)"/>
<wire from="(220,350)" to="(240,350)"/>
<wire from="(220,510)" to="(240,510)"/>
<wire from="(110,150)" to="(190,150)"/>
<wire from="(180,400)" to="(190,400)"/>
<wire from="(220,240)" to="(230,240)"/>
<wire from="(240,340)" to="(250,340)"/>
<wire from="(240,420)" to="(250,420)"/>
<wire from="(240,540)" to="(250,540)"/>
<wire from="(510,330)" to="(510,380)"/>
<wire from="(110,250)" to="(120,250)"/>
<wire from="(340,150)" to="(410,150)"/>
<wire from="(340,430)" to="(410,430)"/>
<wire from="(240,140)" to="(300,140)"/>
<wire from="(240,190)" to="(240,200)"/>
<wire from="(240,310)" to="(240,320)"/>
<wire from="(240,510)" to="(240,520)"/>
<wire from="(240,670)" to="(240,680)"/>
<wire from="(140,250)" to="(190,250)"/>
<wire from="(140,170)" to="(190,170)"/>
<wire from="(340,330)" to="(340,350)"/>
<wire from="(340,530)" to="(340,550)"/>
<wire from="(180,50)" to="(180,70)"/>
<wire from="(230,220)" to="(230,240)"/>
<wire from="(150,670)" to="(190,670)"/>
<wire from="(360,180)" to="(360,270)"/>
<wire from="(470,430)" to="(510,430)"/>
<wire from="(160,130)" to="(190,130)"/>
<wire from="(360,340)" to="(360,440)"/>
<wire from="(170,110)" to="(170,210)"/>
<wire from="(100,460)" to="(190,460)"/>
<wire from="(320,140)" to="(340,140)"/>
<wire from="(510,170)" to="(510,280)"/>
<wire from="(150,540)" to="(150,580)"/>
<wire from="(160,230)" to="(160,270)"/>
<wire from="(130,670)" to="(150,670)"/>
<wire from="(170,630)" to="(190,630)"/>
<wire from="(150,610)" to="(170,610)"/>
<wire from="(170,110)" to="(190,110)"/>
<wire from="(220,640)" to="(240,640)"/>
<wire from="(220,680)" to="(240,680)"/>
<wire from="(230,210)" to="(250,210)"/>
<wire from="(220,90)" to="(230,90)"/>
<wire from="(240,670)" to="(250,670)"/>
<wire from="(180,380)" to="(510,380)"/>
<wire from="(100,250)" to="(110,250)"/>
<wire from="(160,270)" to="(360,270)"/>
<wire from="(470,530)" to="(540,530)"/>
<wire from="(360,540)" to="(360,660)"/>
<comp lib="1" loc="(300,190)" name="Buffer">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(430,340)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="4" loc="(470,530)" name="S-R Flip-Flop"/>
<comp lib="1" loc="(430,440)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(100,650)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/CLK1 RS"/>
</comp>
<comp lib="1" loc="(220,90)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="4"/>
</comp>
<comp lib="0" loc="(100,360)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="B"/>
</comp>
<comp lib="1" loc="(220,510)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="6" loc="(97,52)" name="Text">
<a name="text" val="74LS99"/>
<a name="font" val="SansSerif bold 24"/>
</comp>
<comp lib="1" loc="(290,430)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(540,170)" 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="4" loc="(470,330)" name="S-R Flip-Flop"/>
<comp lib="0" loc="(100,460)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="C"/>
</comp>
<comp lib="1" loc="(220,410)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(220,190)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(300,140)" name="Buffer">
<a name="facing" val="west"/>
</comp>
<comp lib="1" loc="(290,330)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(220,240)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(280,660)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(220,450)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(430,530)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(540,530)" 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="0" loc="(540,430)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="QC"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(220,680)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(220,140)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(100,250)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="A"/>
</comp>
<comp lib="0" loc="(540,330)" 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="0" loc="(100,620)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="M MODE"/>
</comp>
<comp lib="0" loc="(100,80)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="J"/>
</comp>
<comp lib="1" loc="(430,180)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(220,550)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(140,250)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(290,210)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(430,330)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(140,170)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(150,620)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(220,310)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(290,110)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="1" loc="(430,540)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(220,640)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(470,430)" name="S-R Flip-Flop"/>
<comp lib="0" loc="(100,170)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/K"/>
</comp>
<comp lib="1" loc="(290,530)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(220,350)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(470,170)" name="S-R Flip-Flop"/>
<comp lib="1" loc="(430,430)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(100,690)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="/CLK2 LS"/>
</comp>
<comp lib="0" loc="(100,560)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="D"/>
</comp>
<comp lib="0" loc="(540,550)" 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="(150,580)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
</circuit>
</project>