487 lines
17 KiB
XML
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>
|