Files
ttl-calculator/circuit.circ
2026-05-10 15:39:01 +02:00

487 lines
17 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="4.0.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v4.0.0(https://github.com/logisim-evolution/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="fanout" val="3"/>
<a name="incoming" val="3"/>
</tool>
<tool name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
</tool>
<tool name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="facing" val="north"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="enable" val="true"/>
<a name="facing" val="south"/>
<a name="width" val="4"/>
</tool>
<tool name="Demultiplexer">
<a name="enable" val="true"/>
<a name="select" val="3"/>
<a name="width" val="3"/>
</tool>
<tool name="Decoder">
<a name="facing" val="west"/>
<a name="select" val="4"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3">
<tool name="Subtractor">
<a name="width" val="5"/>
</tool>
</lib>
<lib desc="#Memory" name="4">
<tool name="D Flip-Flop">
<a name="trigger" val="high"/>
</tool>
<tool name="Counter">
<a name="max" val="0xf"/>
<a name="width" val="4"/>
</tool>
<tool name="Shift Register">
<a name="length" val="4"/>
</tool>
<tool name="RAM">
<a name="addrWidth" val="4"/>
<a name="dataWidth" val="4"/>
</tool>
</lib>
<lib desc="#I/O" name="5"/>
<lib desc="#TTL" name="6">
<tool name="74161">
<a name="facing" val="south"/>
</tool>
<tool name="74181">
<a name="facing" val="south"/>
</tool>
<tool name="74244">
<a name="facing" val="south"/>
</tool>
<tool name="74299">
<a name="facing" val="south"/>
</tool>
<tool name="74381">
<a name="facing" val="south"/>
</tool>
</lib>
<lib desc="#TCL" name="7"/>
<lib desc="#Base" name="8">
<tool name="Text Tool">
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="left"/>
</tool>
</lib>
<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">
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="left"/>
</tool>
<sep/>
<tool lib="0" name="Pin"/>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="type" val="output"/>
</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="256.0"/>
<comp lib="0" loc="(1010,180)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="1"/>
<a name="bit6" val="2"/>
<a name="bit7" val="3"/>
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="4"/>
</comp>
<comp lib="0" loc="(1050,160)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="4"/>
</comp>
<comp lib="0" loc="(150,220)" name="Ground"/>
<comp lib="0" loc="(160,640)" name="Clock">
<a name="appearance" val="NewPins"/>
</comp>
<comp lib="0" loc="(240,770)" name="Power"/>
<comp lib="0" loc="(390,650)" name="Splitter">
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(390,840)" name="Splitter">
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="1"/>
<a name="bit6" val="2"/>
<a name="bit7" val="3"/>
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(410,600)" name="Splitter">
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(460,600)" name="Splitter">
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(600,410)" name="Splitter">
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(650,410)" name="Splitter">
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(750,40)" name="Pin">
<a name="appearance" val="classic"/>
</comp>
<comp lib="0" loc="(810,140)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="4"/>
</comp>
<comp lib="0" loc="(820,340)" name="Splitter">
<a name="appear" val="right"/>
<a name="facing" val="south"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(850,160)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="1"/>
<a name="bit6" val="2"/>
<a name="bit7" val="3"/>
<a name="fanout" val="4"/>
<a name="incoming" val="8"/>
<a name="spacing" val="4"/>
</comp>
<comp lib="0" loc="(880,330)" name="Splitter">
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(930,330)" name="Splitter">
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="1" loc="(160,170)" name="NOT Gate"/>
<comp lib="4" loc="(240,120)" name="RAM">
<a name="appearance" val="logisim_evolution"/>
<a name="databus" val="bidir"/>
<a name="enables" val="line"/>
<a name="trigger" val="falling"/>
<a name="type" val="nonvolatile"/>
</comp>
<comp lib="5" loc="(400,570)" name="Hex Digit Display"/>
<comp lib="5" loc="(450,570)" name="Hex Digit Display"/>
<comp lib="5" loc="(590,380)" name="Hex Digit Display"/>
<comp lib="5" loc="(640,380)" name="Hex Digit Display"/>
<comp lib="5" loc="(730,360)" name="DipSwitch"/>
<comp lib="5" loc="(870,300)" name="Hex Digit Display"/>
<comp lib="5" loc="(920,300)" name="Hex Digit Display"/>
<comp lib="6" loc="(330,610)" name="74161">
<a name="ShowInternalStructure" val="true"/>
<a name="facing" val="south"/>
</comp>
<comp lib="6" loc="(330,800)" name="74161">
<a name="ShowInternalStructure" val="true"/>
<a name="facing" val="south"/>
</comp>
<comp lib="6" loc="(930,30)" name="74244">
<a name="facing" val="south"/>
</comp>
<comp lib="6" loc="(970,610)" name="74181">
<a name="facing" val="south"/>
</comp>
<comp lib="6" loc="(970,890)" name="74181">
<a name="facing" val="south"/>
</comp>
<comp lib="8" loc="(1140,530)" name="Text">
<a name="text" val="ACC-Register"/>
</comp>
<comp lib="8" loc="(1220,114)" name="Text">
<a name="text" val="OP-Register"/>
</comp>
<comp lib="8" loc="(130,615)" name="Text">
<a name="text" val="CLK"/>
</comp>
<comp lib="8" loc="(134,246)" name="Text">
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="left"/>
<a name="text" val="TODO"/>
</comp>
<comp lib="8" loc="(1385,378)" name="Text">
<a name="text" val="OUT"/>
</comp>
<comp lib="8" loc="(170,530)" name="Text">
<a name="text" val="Steuerwerk"/>
</comp>
<comp lib="8" loc="(195,510)" name="Text">
<a name="text" val="Program Counter"/>
</comp>
<comp lib="8" loc="(218,72)" name="Text">
<a name="text" val="RAM"/>
</comp>
<comp lib="8" loc="(280,605)" name="Text">
<a name="text" val="Low"/>
</comp>
<comp lib="8" loc="(385,815)" name="Text">
<a name="text" val="High"/>
</comp>
<comp lib="8" loc="(475,765)" name="Text">
<a name="text" val="ADR_Bus"/>
</comp>
<comp lib="8" loc="(502,186)" name="Text">
<a name="halign" val="left"/>
<a name="text" val="DATA_Bus"/>
</comp>
<comp lib="8" loc="(750,555)" name="Text">
<a name="text" val="Arithmetic Logic Unit"/>
</comp>
<comp lib="8" loc="(756,19)" name="Text">
<a name="text" val="Input"/>
</comp>
<wire from="(1010,180)" to="(1020,180)"/>
<wire from="(1020,180)" to="(1020,340)"/>
<wire from="(1050,160)" to="(1070,160)"/>
<wire from="(1070,160)" to="(1070,430)"/>
<wire from="(110,170)" to="(130,170)"/>
<wire from="(110,90)" to="(110,170)"/>
<wire from="(110,90)" to="(780,90)"/>
<wire from="(150,180)" to="(150,220)"/>
<wire from="(150,180)" to="(240,180)"/>
<wire from="(160,170)" to="(240,170)"/>
<wire from="(160,640)" to="(180,640)"/>
<wire from="(180,580)" to="(180,640)"/>
<wire from="(180,640)" to="(180,830)"/>
<wire from="(180,640)" to="(300,640)"/>
<wire from="(180,830)" to="(300,830)"/>
<wire from="(200,130)" to="(200,440)"/>
<wire from="(200,130)" to="(240,130)"/>
<wire from="(200,440)" to="(490,440)"/>
<wire from="(210,580)" to="(210,930)"/>
<wire from="(210,580)" to="(370,580)"/>
<wire from="(210,930)" to="(300,930)"/>
<wire from="(240,770)" to="(240,780)"/>
<wire from="(240,780)" to="(270,780)"/>
<wire from="(270,620)" to="(270,740)"/>
<wire from="(270,620)" to="(300,620)"/>
<wire from="(270,740)" to="(270,780)"/>
<wire from="(270,740)" to="(300,740)"/>
<wire from="(270,780)" to="(270,810)"/>
<wire from="(270,780)" to="(390,780)"/>
<wire from="(270,810)" to="(270,980)"/>
<wire from="(270,810)" to="(300,810)"/>
<wire from="(270,980)" to="(390,980)"/>
<wire from="(360,640)" to="(370,640)"/>
<wire from="(360,660)" to="(370,660)"/>
<wire from="(360,680)" to="(370,680)"/>
<wire from="(360,700)" to="(370,700)"/>
<wire from="(360,720)" to="(370,720)"/>
<wire from="(360,740)" to="(390,740)"/>
<wire from="(360,760)" to="(390,760)"/>
<wire from="(360,850)" to="(370,850)"/>
<wire from="(360,870)" to="(370,870)"/>
<wire from="(360,890)" to="(370,890)"/>
<wire from="(360,910)" to="(370,910)"/>
<wire from="(360,930)" to="(390,930)"/>
<wire from="(360,950)" to="(390,950)"/>
<wire from="(370,580)" to="(370,640)"/>
<wire from="(390,630)" to="(390,650)"/>
<wire from="(390,630)" to="(410,630)"/>
<wire from="(390,740)" to="(390,760)"/>
<wire from="(390,760)" to="(390,780)"/>
<wire from="(390,840)" to="(430,840)"/>
<wire from="(390,930)" to="(390,950)"/>
<wire from="(390,950)" to="(390,980)"/>
<wire from="(400,570)" to="(400,580)"/>
<wire from="(410,600)" to="(410,630)"/>
<wire from="(410,630)" to="(430,630)"/>
<wire from="(430,630)" to="(430,840)"/>
<wire from="(430,630)" to="(460,630)"/>
<wire from="(450,570)" to="(450,580)"/>
<wire from="(460,600)" to="(460,630)"/>
<wire from="(460,630)" to="(490,630)"/>
<wire from="(490,210)" to="(530,210)"/>
<wire from="(490,440)" to="(490,630)"/>
<wire from="(530,210)" to="(530,430)"/>
<wire from="(530,430)" to="(600,430)"/>
<wire from="(590,380)" to="(590,390)"/>
<wire from="(600,410)" to="(600,430)"/>
<wire from="(600,430)" to="(650,430)"/>
<wire from="(640,380)" to="(640,390)"/>
<wire from="(650,410)" to="(650,430)"/>
<wire from="(650,430)" to="(840,430)"/>
<wire from="(750,40)" to="(780,40)"/>
<wire from="(780,40)" to="(780,90)"/>
<wire from="(780,40)" to="(850,40)"/>
<wire from="(790,140)" to="(790,260)"/>
<wire from="(790,140)" to="(810,140)"/>
<wire from="(790,260)" to="(820,260)"/>
<wire from="(820,260)" to="(820,340)"/>
<wire from="(820,340)" to="(880,340)"/>
<wire from="(830,100)" to="(900,100)"/>
<wire from="(830,140)" to="(900,140)"/>
<wire from="(830,180)" to="(900,180)"/>
<wire from="(830,60)" to="(900,60)"/>
<wire from="(840,160)" to="(840,430)"/>
<wire from="(840,160)" to="(850,160)"/>
<wire from="(840,430)" to="(1070,430)"/>
<wire from="(850,10)" to="(850,40)"/>
<wire from="(850,10)" to="(990,10)"/>
<wire from="(850,40)" to="(900,40)"/>
<wire from="(870,120)" to="(900,120)"/>
<wire from="(870,160)" to="(900,160)"/>
<wire from="(870,200)" to="(900,200)"/>
<wire from="(870,300)" to="(870,310)"/>
<wire from="(870,80)" to="(900,80)"/>
<wire from="(880,330)" to="(880,340)"/>
<wire from="(880,340)" to="(930,340)"/>
<wire from="(90,190)" to="(240,190)"/>
<wire from="(90,190)" to="(90,580)"/>
<wire from="(90,580)" to="(180,580)"/>
<wire from="(920,300)" to="(920,310)"/>
<wire from="(930,330)" to="(930,340)"/>
<wire from="(930,340)" to="(1020,340)"/>
<wire from="(960,100)" to="(990,100)"/>
<wire from="(960,120)" to="(1030,120)"/>
<wire from="(960,140)" to="(990,140)"/>
<wire from="(960,160)" to="(1030,160)"/>
<wire from="(960,180)" to="(990,180)"/>
<wire from="(960,200)" to="(1030,200)"/>
<wire from="(960,220)" to="(990,220)"/>
<wire from="(960,60)" to="(990,60)"/>
<wire from="(960,80)" to="(1030,80)"/>
<wire from="(990,10)" to="(990,60)"/>
</circuit>
</project>