Input register, RAM

This commit is contained in:
2026-05-10 15:39:01 +02:00
parent aa8bc09678
commit 893aec4d4e

View File

@@ -4,16 +4,63 @@
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="facing" val="west"/>
<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"/>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4"/>
<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">
@@ -22,12 +69,23 @@
<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"/>
<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"/>
@@ -46,7 +104,10 @@
<tool lib="8" name="Poke Tool"/>
<tool lib="8" name="Edit Tool"/>
<tool lib="8" name="Wiring Tool"/>
<tool lib="8" name="Text 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">
@@ -69,6 +130,33 @@
<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>
@@ -122,8 +210,104 @@
<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"/>
@@ -132,46 +316,78 @@
<a name="ShowInternalStructure" val="true"/>
<a name="facing" val="south"/>
</comp>
<comp lib="6" loc="(850,660)" name="74181">
<comp lib="6" loc="(930,30)" name="74244">
<a name="facing" val="south"/>
</comp>
<comp lib="8" loc="(1141,531)" name="Text">
<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="(1157,51)" name="Text">
<a name="text" val="OUT"/>
</comp>
<comp lib="8" loc="(133,618)" name="Text">
<a name="text" val="CLK"/>
</comp>
<comp lib="8" loc="(172,534)" name="Text">
<a name="text" val="Steuerwerk"/>
</comp>
<comp lib="8" loc="(198,512)" name="Text">
<a name="text" val="Program Counter"/>
</comp>
<comp lib="8" loc="(282,608)" name="Text">
<a name="text" val="Low"/>
</comp>
<comp lib="8" loc="(388,817)" name="Text">
<a name="text" val="High"/>
</comp>
<comp lib="8" loc="(478,765)" name="Text">
<a name="text" val="ADR_Bus"/>
</comp>
<comp lib="8" loc="(626,52)" name="Text">
<comp lib="8" loc="(1220,114)" name="Text">
<a name="text" val="OP-Register"/>
</comp>
<comp lib="8" loc="(751,558)" name="Text">
<a name="text" val="Arithmetic Logic Unit"/>
<comp lib="8" loc="(130,615)" name="Text">
<a name="text" val="CLK"/>
</comp>
<comp lib="8" loc="(79,49)" name="Text">
<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)"/>
@@ -214,5 +430,57 @@
<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>