Files
hardware/Logisim/mod13adder/mod13add.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="3.9.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
<lib desc="#Wiring" name="0">
<tool name="Pin">
<a name="appearance" val="classic"/>
</tool>
</lib>
<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="1000"/>
<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 lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
<tool lib="1" name="XOR Gate"/>
<tool lib="1" name="NAND Gate"/>
<tool lib="1" name="NOR Gate"/>
<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="4.0"/>
<comp lib="0" loc="(320,330)" name="Clock"/>
<comp lib="5" loc="(640,310)" name="Hex Digit Display"/>
<comp lib="5" loc="(680,310)" name="Hex Digit Display"/>
<comp lib="5" loc="(730,310)" name="LED"/>
<comp loc="(540,330)" name="Figure"/>
<wire from="(540,330)" to="(680,330)"/>
<wire from="(540,350)" to="(640,350)"/>
<wire from="(540,370)" to="(730,370)"/>
<wire from="(640,310)" to="(640,350)"/>
<wire from="(680,310)" to="(680,330)"/>
<wire from="(730,310)" to="(730,370)"/>
</circuit>
<circuit name="mod13add">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="mod13add"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="4.0"/>
<comp lib="0" loc="(1050,270)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Out0"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(1050,390)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Out1"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(1050,510)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Out2"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(1050,640)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Out3"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(1060,900)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="C"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(520,1230)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="Stop"/>
</comp>
<comp lib="0" loc="(560,980)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="cp"/>
</comp>
<comp lib="1" loc="(1060,900)" name="AND Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(340,470)" name="AND Gate">
<a name="inputs" val="3"/>
<a name="label" val="nQ2Q1Q0"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(340,530)" name="AND Gate">
<a name="inputs" val="3"/>
<a name="label" val="nQ3Q2nQ1"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(340,580)" name="AND Gate">
<a name="inputs" val="3"/>
<a name="label" val="nQ3Q2nQ0"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(340,670)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(360,730)" name="AND Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(470,430)" name="OR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(470,700)" name="OR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(480,390)" name="XOR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(480,530)" name="OR Gate">
<a name="inputs" val="3"/>
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(550,410)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(610,270)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(610,870)" name="OR Gate">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(790,1210)" name="OR Gate"/>
<comp lib="4" loc="(720,260)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="Q0"/>
</comp>
<comp lib="4" loc="(720,380)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="Q1"/>
</comp>
<comp lib="4" loc="(720,500)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="Q2"/>
</comp>
<comp lib="4" loc="(720,630)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="Q3"/>
</comp>
<comp lib="4" loc="(840,1200)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
</comp>
<wire from="(190,600)" to="(190,680)"/>
<wire from="(190,600)" to="(880,600)"/>
<wire from="(190,680)" to="(310,680)"/>
<wire from="(190,710)" to="(190,810)"/>
<wire from="(190,710)" to="(310,710)"/>
<wire from="(190,810)" to="(780,810)"/>
<wire from="(200,250)" to="(200,590)"/>
<wire from="(200,250)" to="(510,250)"/>
<wire from="(200,590)" to="(310,590)"/>
<wire from="(200,610)" to="(200,660)"/>
<wire from="(200,610)" to="(900,610)"/>
<wire from="(200,660)" to="(310,660)"/>
<wire from="(200,720)" to="(200,820)"/>
<wire from="(200,720)" to="(310,720)"/>
<wire from="(200,820)" to="(820,820)"/>
<wire from="(210,160)" to="(210,540)"/>
<wire from="(210,160)" to="(840,160)"/>
<wire from="(210,540)" to="(310,540)"/>
<wire from="(210,740)" to="(210,830)"/>
<wire from="(210,740)" to="(310,740)"/>
<wire from="(210,830)" to="(860,830)"/>
<wire from="(220,170)" to="(220,530)"/>
<wire from="(220,170)" to="(860,170)"/>
<wire from="(220,530)" to="(250,530)"/>
<wire from="(220,570)" to="(220,750)"/>
<wire from="(220,570)" to="(230,570)"/>
<wire from="(220,750)" to="(220,840)"/>
<wire from="(220,750)" to="(310,750)"/>
<wire from="(220,840)" to="(920,840)"/>
<wire from="(230,180)" to="(230,490)"/>
<wire from="(230,180)" to="(920,180)"/>
<wire from="(230,520)" to="(230,570)"/>
<wire from="(230,520)" to="(310,520)"/>
<wire from="(230,570)" to="(310,570)"/>
<wire from="(240,190)" to="(240,480)"/>
<wire from="(240,190)" to="(880,190)"/>
<wire from="(240,480)" to="(310,480)"/>
<wire from="(250,220)" to="(250,470)"/>
<wire from="(250,220)" to="(430,220)"/>
<wire from="(250,470)" to="(310,470)"/>
<wire from="(250,530)" to="(250,580)"/>
<wire from="(250,530)" to="(310,530)"/>
<wire from="(250,580)" to="(310,580)"/>
<wire from="(260,200)" to="(260,450)"/>
<wire from="(260,200)" to="(410,200)"/>
<wire from="(260,450)" to="(310,450)"/>
<wire from="(310,450)" to="(310,460)"/>
<wire from="(340,470)" to="(450,470)"/>
<wire from="(340,530)" to="(450,530)"/>
<wire from="(340,580)" to="(450,580)"/>
<wire from="(340,670)" to="(440,670)"/>
<wire from="(360,730)" to="(440,730)"/>
<wire from="(370,350)" to="(370,440)"/>
<wire from="(370,350)" to="(920,350)"/>
<wire from="(370,440)" to="(440,440)"/>
<wire from="(390,330)" to="(390,420)"/>
<wire from="(390,330)" to="(880,330)"/>
<wire from="(390,420)" to="(440,420)"/>
<wire from="(410,200)" to="(410,400)"/>
<wire from="(410,200)" to="(820,200)"/>
<wire from="(410,400)" to="(440,400)"/>
<wire from="(430,220)" to="(430,380)"/>
<wire from="(430,220)" to="(780,220)"/>
<wire from="(430,380)" to="(440,380)"/>
<wire from="(440,670)" to="(440,690)"/>
<wire from="(440,710)" to="(440,730)"/>
<wire from="(450,470)" to="(450,520)"/>
<wire from="(450,540)" to="(450,580)"/>
<wire from="(470,430)" to="(510,430)"/>
<wire from="(470,700)" to="(480,700)"/>
<wire from="(480,390)" to="(520,390)"/>
<wire from="(480,510)" to="(480,530)"/>
<wire from="(480,510)" to="(710,510)"/>
<wire from="(480,640)" to="(480,700)"/>
<wire from="(480,640)" to="(710,640)"/>
<wire from="(510,250)" to="(510,260)"/>
<wire from="(510,250)" to="(800,250)"/>
<wire from="(510,260)" to="(580,260)"/>
<wire from="(510,280)" to="(510,430)"/>
<wire from="(510,280)" to="(580,280)"/>
<wire from="(510,430)" to="(520,430)"/>
<wire from="(520,1230)" to="(740,1230)"/>
<wire from="(520,390)" to="(520,400)"/>
<wire from="(520,420)" to="(520,430)"/>
<wire from="(550,410)" to="(710,410)"/>
<wire from="(560,980)" to="(590,980)"/>
<wire from="(590,920)" to="(590,980)"/>
<wire from="(610,270)" to="(710,270)"/>
<wire from="(610,310)" to="(610,430)"/>
<wire from="(610,310)" to="(710,310)"/>
<wire from="(610,430)" to="(610,550)"/>
<wire from="(610,430)" to="(710,430)"/>
<wire from="(610,550)" to="(610,680)"/>
<wire from="(610,550)" to="(710,550)"/>
<wire from="(610,680)" to="(610,870)"/>
<wire from="(610,680)" to="(710,680)"/>
<wire from="(630,920)" to="(740,920)"/>
<wire from="(710,390)" to="(710,410)"/>
<wire from="(740,1140)" to="(740,1190)"/>
<wire from="(740,1140)" to="(950,1140)"/>
<wire from="(740,920)" to="(740,1140)"/>
<wire from="(770,270)" to="(780,270)"/>
<wire from="(770,310)" to="(800,310)"/>
<wire from="(770,390)" to="(820,390)"/>
<wire from="(770,430)" to="(840,430)"/>
<wire from="(770,510)" to="(860,510)"/>
<wire from="(770,550)" to="(880,550)"/>
<wire from="(770,640)" to="(900,640)"/>
<wire from="(770,680)" to="(920,680)"/>
<wire from="(780,220)" to="(780,270)"/>
<wire from="(780,270)" to="(1050,270)"/>
<wire from="(780,270)" to="(780,810)"/>
<wire from="(790,1210)" to="(800,1210)"/>
<wire from="(800,1210)" to="(800,1250)"/>
<wire from="(800,1210)" to="(830,1210)"/>
<wire from="(800,1250)" to="(830,1250)"/>
<wire from="(800,250)" to="(800,310)"/>
<wire from="(800,310)" to="(800,880)"/>
<wire from="(800,880)" to="(1010,880)"/>
<wire from="(820,200)" to="(820,390)"/>
<wire from="(820,390)" to="(1050,390)"/>
<wire from="(820,390)" to="(820,820)"/>
<wire from="(840,160)" to="(840,430)"/>
<wire from="(840,430)" to="(840,890)"/>
<wire from="(840,890)" to="(1010,890)"/>
<wire from="(860,170)" to="(860,510)"/>
<wire from="(860,510)" to="(1050,510)"/>
<wire from="(860,510)" to="(860,830)"/>
<wire from="(860,830)" to="(860,910)"/>
<wire from="(860,910)" to="(1010,910)"/>
<wire from="(880,190)" to="(880,330)"/>
<wire from="(880,330)" to="(880,550)"/>
<wire from="(880,550)" to="(880,600)"/>
<wire from="(890,1210)" to="(950,1210)"/>
<wire from="(900,610)" to="(900,640)"/>
<wire from="(900,640)" to="(1050,640)"/>
<wire from="(900,640)" to="(900,920)"/>
<wire from="(900,920)" to="(1010,920)"/>
<wire from="(920,180)" to="(920,350)"/>
<wire from="(920,350)" to="(920,680)"/>
<wire from="(920,680)" to="(920,840)"/>
<wire from="(950,1140)" to="(950,1210)"/>
</circuit>
<circuit name="Figure">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="Figure"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="4.0"/>
<comp lib="0" loc="(1360,1040)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="Cout"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(330,1040)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="label" val="CP"/>
</comp>
<comp lib="0" loc="(820,690)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="OL"/>
<a name="output" val="true"/>
<a name="radix" val="16"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(820,690)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(820,870)" name="Pin">
<a name="appearance" val="NewPins"/>
<a name="facing" val="west"/>
<a name="label" val="OH"/>
<a name="output" val="true"/>
<a name="radix" val="16"/>
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(820,870)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="1" loc="(1000,970)" name="AND Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(1010,730)" name="AND Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(1090,1040)" name="AND Gate"/>
<comp lib="1" loc="(870,950)" name="NOT Gate"/>
<comp lib="1" loc="(870,970)" name="NOT Gate"/>
<comp lib="1" loc="(900,630)" name="NOT Gate"/>
<comp lib="1" loc="(910,720)" name="NOT Gate"/>
<comp lib="4" loc="(1100,1030)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
</comp>
<comp lib="4" loc="(1260,1030)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
</comp>
<comp lib="4" loc="(750,760)" name="D Flip-Flop">
<a name="appearance" val="logisim_evolution"/>
</comp>
<comp loc="(710,690)" name="mod13add"/>
<comp loc="(710,870)" name="mod13add"/>
<wire from="(1000,970)" to="(1020,970)"/>
<wire from="(1010,730)" to="(1030,730)"/>
<wire from="(1020,1060)" to="(1040,1060)"/>
<wire from="(1020,970)" to="(1020,1060)"/>
<wire from="(1030,1020)" to="(1040,1020)"/>
<wire from="(1030,730)" to="(1030,1020)"/>
<wire from="(1150,1040)" to="(1200,1040)"/>
<wire from="(1200,1040)" to="(1200,1080)"/>
<wire from="(1200,1040)" to="(1250,1040)"/>
<wire from="(1200,1080)" to="(1250,1080)"/>
<wire from="(1310,1040)" to="(1340,1040)"/>
<wire from="(1340,1040)" to="(1340,1140)"/>
<wire from="(1340,1040)" to="(1360,1040)"/>
<wire from="(330,1040)" to="(360,1040)"/>
<wire from="(360,1040)" to="(360,1080)"/>
<wire from="(360,1080)" to="(1090,1080)"/>
<wire from="(360,690)" to="(360,810)"/>
<wire from="(360,690)" to="(490,690)"/>
<wire from="(360,810)" to="(360,1040)"/>
<wire from="(360,810)" to="(740,810)"/>
<wire from="(430,1140)" to="(1340,1140)"/>
<wire from="(430,710)" to="(430,890)"/>
<wire from="(430,710)" to="(490,710)"/>
<wire from="(430,890)" to="(430,1140)"/>
<wire from="(430,890)" to="(490,890)"/>
<wire from="(470,840)" to="(470,870)"/>
<wire from="(470,840)" to="(830,840)"/>
<wire from="(470,870)" to="(490,870)"/>
<wire from="(490,870)" to="(500,870)"/>
<wire from="(710,690)" to="(770,690)"/>
<wire from="(710,710)" to="(800,710)"/>
<wire from="(710,730)" to="(760,730)"/>
<wire from="(710,750)" to="(800,750)"/>
<wire from="(710,770)" to="(740,770)"/>
<wire from="(710,870)" to="(780,870)"/>
<wire from="(710,890)" to="(770,890)"/>
<wire from="(710,910)" to="(760,910)"/>
<wire from="(710,930)" to="(740,930)"/>
<wire from="(740,930)" to="(740,990)"/>
<wire from="(740,930)" to="(800,930)"/>
<wire from="(740,990)" to="(950,990)"/>
<wire from="(760,720)" to="(760,730)"/>
<wire from="(760,720)" to="(800,720)"/>
<wire from="(760,730)" to="(760,740)"/>
<wire from="(760,740)" to="(960,740)"/>
<wire from="(760,900)" to="(760,910)"/>
<wire from="(760,900)" to="(800,900)"/>
<wire from="(760,910)" to="(760,980)"/>
<wire from="(760,980)" to="(950,980)"/>
<wire from="(770,630)" to="(770,690)"/>
<wire from="(770,630)" to="(870,630)"/>
<wire from="(770,690)" to="(800,690)"/>
<wire from="(770,890)" to="(770,970)"/>
<wire from="(770,890)" to="(800,890)"/>
<wire from="(770,970)" to="(840,970)"/>
<wire from="(780,870)" to="(780,950)"/>
<wire from="(780,870)" to="(800,870)"/>
<wire from="(780,950)" to="(840,950)"/>
<wire from="(800,690)" to="(800,700)"/>
<wire from="(800,710)" to="(880,710)"/>
<wire from="(800,730)" to="(800,750)"/>
<wire from="(800,750)" to="(960,750)"/>
<wire from="(800,770)" to="(830,770)"/>
<wire from="(800,870)" to="(800,880)"/>
<wire from="(800,910)" to="(800,930)"/>
<wire from="(830,770)" to="(830,840)"/>
<wire from="(870,950)" to="(950,950)"/>
<wire from="(870,970)" to="(950,970)"/>
<wire from="(880,710)" to="(880,720)"/>
<wire from="(900,630)" to="(900,710)"/>
<wire from="(900,710)" to="(960,710)"/>
<wire from="(910,720)" to="(960,720)"/>
<wire from="(950,960)" to="(950,970)"/>
</circuit>
</project>