logisim-stuff/logic_block.circ
2015-01-04 15:24:53 -06:00

401 lines
15 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="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</tool>
<tool name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="facing" val="west"/>
<a name="select" val="2"/>
<a name="enable" val="false"/>
</tool>
<tool name="Demultiplexer">
<a name="facing" val="south"/>
<a name="select" val="2"/>
</tool>
</lib>
<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="main"/>
<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="Ctrl Button1" name="Menu Tool"/>
<tool lib="6" map="Button3" 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"/>
<tool lib="1" name="AND Gate"/>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M61,51 Q65,61 69,51" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="40" stroke="#000000" stroke-width="2" width="30" x="50" y="50"/>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="64" y="75">LB</text>
<circ-port height="8" pin="150,20" width="8" x="46" y="56"/>
<circ-port height="8" pin="150,50" width="8" x="46" y="66"/>
<circ-port height="8" pin="130,400" width="8" x="46" y="76"/>
<circ-port height="10" pin="680,40" width="10" x="75" y="55"/>
<circ-port height="8" pin="950,200" width="8" x="76" y="66"/>
<circ-port height="10" pin="990,480" width="10" x="75" y="75"/>
<circ-port height="8" pin="70,50" width="8" x="56" y="46"/>
<circ-port height="8" pin="200,610" width="8" x="56" y="86"/>
<circ-port height="10" pin="670,660" width="10" x="65" y="85"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="57"/>
</appear>
<wire from="(290,590)" to="(310,590)"/>
<wire from="(830,230)" to="(850,230)"/>
<wire from="(210,50)" to="(210,80)"/>
<wire from="(630,590)" to="(630,600)"/>
<wire from="(90,90)" to="(110,90)"/>
<wire from="(540,60)" to="(540,220)"/>
<wire from="(480,60)" to="(480,220)"/>
<wire from="(470,60)" to="(470,220)"/>
<wire from="(150,100)" to="(220,100)"/>
<wire from="(380,60)" to="(380,130)"/>
<wire from="(160,430)" to="(180,430)"/>
<wire from="(70,230)" to="(70,370)"/>
<wire from="(760,320)" to="(810,320)"/>
<wire from="(370,530)" to="(370,580)"/>
<wire from="(40,160)" to="(60,160)"/>
<wire from="(210,50)" to="(250,50)"/>
<wire from="(100,250)" to="(330,250)"/>
<wire from="(870,250)" to="(870,370)"/>
<wire from="(40,480)" to="(200,480)"/>
<wire from="(100,240)" to="(340,240)"/>
<wire from="(660,590)" to="(660,600)"/>
<wire from="(300,60)" to="(300,170)"/>
<wire from="(890,230)" to="(900,230)"/>
<wire from="(860,570)" to="(860,590)"/>
<wire from="(480,550)" to="(480,560)"/>
<wire from="(880,510)" to="(890,510)"/>
<wire from="(670,410)" to="(760,410)"/>
<wire from="(130,400)" to="(140,400)"/>
<wire from="(350,580)" to="(370,580)"/>
<wire from="(760,320)" to="(760,410)"/>
<wire from="(150,150)" to="(280,150)"/>
<wire from="(780,280)" to="(810,280)"/>
<wire from="(40,160)" to="(40,480)"/>
<wire from="(640,590)" to="(640,600)"/>
<wire from="(830,230)" to="(830,350)"/>
<wire from="(510,580)" to="(580,580)"/>
<wire from="(580,570)" to="(630,570)"/>
<wire from="(200,20)" to="(200,30)"/>
<wire from="(420,80)" to="(760,80)"/>
<wire from="(510,310)" to="(620,310)"/>
<wire from="(810,320)" to="(810,530)"/>
<wire from="(440,60)" to="(440,220)"/>
<wire from="(580,60)" to="(580,220)"/>
<wire from="(410,490)" to="(470,490)"/>
<wire from="(510,270)" to="(510,310)"/>
<wire from="(220,430)" to="(270,430)"/>
<wire from="(490,550)" to="(490,560)"/>
<wire from="(220,100)" to="(220,290)"/>
<wire from="(290,580)" to="(310,580)"/>
<wire from="(160,440)" to="(180,440)"/>
<wire from="(290,530)" to="(370,530)"/>
<wire from="(450,60)" to="(450,220)"/>
<wire from="(490,60)" to="(490,220)"/>
<wire from="(880,500)" to="(890,500)"/>
<wire from="(280,60)" to="(280,150)"/>
<wire from="(150,160)" to="(270,160)"/>
<wire from="(340,60)" to="(340,240)"/>
<wire from="(300,260)" to="(370,260)"/>
<wire from="(80,170)" to="(300,170)"/>
<wire from="(650,590)" to="(650,600)"/>
<wire from="(220,290)" to="(370,290)"/>
<wire from="(80,180)" to="(290,180)"/>
<wire from="(20,200)" to="(20,640)"/>
<wire from="(390,240)" to="(390,250)"/>
<wire from="(390,60)" to="(390,130)"/>
<wire from="(890,240)" to="(900,240)"/>
<wire from="(500,60)" to="(500,220)"/>
<wire from="(90,80)" to="(110,80)"/>
<wire from="(270,280)" to="(270,430)"/>
<wire from="(760,490)" to="(760,590)"/>
<wire from="(370,60)" to="(370,130)"/>
<wire from="(100,220)" to="(310,220)"/>
<wire from="(420,60)" to="(420,80)"/>
<wire from="(880,490)" to="(890,490)"/>
<wire from="(560,60)" to="(560,220)"/>
<wire from="(880,520)" to="(890,520)"/>
<wire from="(100,210)" to="(320,210)"/>
<wire from="(890,210)" to="(900,210)"/>
<wire from="(510,260)" to="(510,270)"/>
<wire from="(290,270)" to="(370,270)"/>
<wire from="(670,410)" to="(670,550)"/>
<wire from="(290,60)" to="(290,180)"/>
<wire from="(130,120)" to="(130,140)"/>
<wire from="(660,290)" to="(750,290)"/>
<wire from="(510,60)" to="(510,220)"/>
<wire from="(320,60)" to="(320,210)"/>
<wire from="(70,370)" to="(870,370)"/>
<wire from="(580,570)" to="(580,580)"/>
<wire from="(410,150)" to="(410,490)"/>
<wire from="(760,80)" to="(760,260)"/>
<wire from="(530,60)" to="(530,220)"/>
<wire from="(70,230)" to="(80,230)"/>
<wire from="(290,270)" to="(290,530)"/>
<wire from="(290,570)" to="(310,570)"/>
<wire from="(300,350)" to="(830,350)"/>
<wire from="(150,20)" to="(200,20)"/>
<wire from="(160,420)" to="(180,420)"/>
<wire from="(20,640)" to="(330,640)"/>
<wire from="(330,600)" to="(330,640)"/>
<wire from="(810,280)" to="(810,320)"/>
<wire from="(910,480)" to="(990,480)"/>
<wire from="(670,620)" to="(670,660)"/>
<wire from="(190,40)" to="(250,40)"/>
<wire from="(570,60)" to="(570,220)"/>
<wire from="(430,60)" to="(430,220)"/>
<wire from="(350,60)" to="(350,130)"/>
<wire from="(590,40)" to="(680,40)"/>
<wire from="(270,60)" to="(270,160)"/>
<wire from="(270,280)" to="(370,280)"/>
<wire from="(920,200)" to="(950,200)"/>
<wire from="(20,200)" to="(80,200)"/>
<wire from="(470,490)" to="(470,530)"/>
<wire from="(800,590)" to="(860,590)"/>
<wire from="(330,60)" to="(330,250)"/>
<wire from="(310,60)" to="(310,220)"/>
<wire from="(390,240)" to="(430,240)"/>
<wire from="(470,490)" to="(760,490)"/>
<wire from="(360,60)" to="(360,130)"/>
<wire from="(200,30)" to="(250,30)"/>
<wire from="(90,100)" to="(110,100)"/>
<wire from="(400,60)" to="(400,130)"/>
<wire from="(150,50)" to="(190,50)"/>
<wire from="(160,410)" to="(180,410)"/>
<wire from="(460,60)" to="(460,220)"/>
<wire from="(890,220)" to="(900,220)"/>
<wire from="(70,50)" to="(80,50)"/>
<wire from="(200,550)" to="(200,610)"/>
<wire from="(200,450)" to="(200,480)"/>
<wire from="(520,60)" to="(520,220)"/>
<wire from="(200,550)" to="(270,550)"/>
<wire from="(90,110)" to="(110,110)"/>
<wire from="(550,60)" to="(550,220)"/>
<wire from="(180,80)" to="(210,80)"/>
<wire from="(70,50)" to="(70,70)"/>
<wire from="(510,270)" to="(750,270)"/>
<wire from="(300,260)" to="(300,350)"/>
<wire from="(290,560)" to="(310,560)"/>
<wire from="(500,550)" to="(500,560)"/>
<wire from="(190,40)" to="(190,50)"/>
<wire from="(600,290)" to="(620,290)"/>
<wire from="(810,530)" to="(840,530)"/>
<comp lib="0" loc="(470,530)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="6"/>
<a name="incoming" val="6"/>
</comp>
<comp lib="0" loc="(990,480)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
<a name="label" val="OUT0"/>
</comp>
<comp lib="0" loc="(80,200)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(800,590)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="3"/>
<a name="incoming" val="3"/>
</comp>
<comp lib="0" loc="(180,80)" name="Clock"/>
<comp lib="2" loc="(220,430)" name="Multiplexer">
<a name="select" val="2"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(70,50)" name="Pin">
<a name="facing" val="south"/>
<a name="width" val="4"/>
<a name="label" val="IN3"/>
</comp>
<comp lib="4" loc="(250,40)" name="Shift Register">
<a name="length" val="32"/>
</comp>
<comp lib="0" loc="(950,200)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="4"/>
<a name="label" val="IN0"/>
</comp>
<comp lib="0" loc="(140,400)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(920,200)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(390,250)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(200,610)" name="Pin">
<a name="facing" val="north"/>
<a name="width" val="4"/>
<a name="label" val="IN1"/>
</comp>
<comp lib="2" loc="(780,280)" name="Multiplexer">
<a name="selloc" val="tr"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(150,50)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="IN"/>
</comp>
<comp lib="0" loc="(130,400)" name="Pin">
<a name="width" val="4"/>
<a name="label" val="IN2"/>
</comp>
<comp lib="4" loc="(660,290)" name="D Flip-Flop"/>
<comp lib="0" loc="(510,580)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="3"/>
<a name="incoming" val="3"/>
</comp>
<comp lib="0" loc="(70,70)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(60,160)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="2" loc="(150,100)" name="Multiplexer">
<a name="select" val="2"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(600,290)" name="Clock"/>
<comp lib="0" loc="(680,40)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="OUT"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(850,230)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="select" val="2"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(670,660)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
<a name="label" val="OUT1"/>
</comp>
<comp lib="2" loc="(350,580)" name="Multiplexer">
<a name="select" val="2"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(130,140)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(270,550)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(760,590)" name="Splitter">
<a name="fanout" val="6"/>
<a name="incoming" val="6"/>
<a name="appear" val="right"/>
</comp>
<comp lib="2" loc="(510,260)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="select" val="4"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(80,230)" name="Splitter">
<a name="appear" val="right"/>
</comp>
<comp lib="2" loc="(840,530)" name="Demultiplexer">
<a name="select" val="3"/>
<a name="tristate" val="true"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(670,620)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(910,480)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(150,20)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="PGM"/>
</comp>
<comp lib="2" loc="(670,550)" name="Demultiplexer">
<a name="facing" val="south"/>
<a name="select" val="3"/>
<a name="tristate" val="true"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(410,150)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="6"/>
<a name="incoming" val="6"/>
</comp>
</circuit>
</project>