324 lines
12 KiB
XML
324 lines
12 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="west"/>
|
|
<a name="fanout" val="3"/>
|
|
<a name="incoming" val="3"/>
|
|
<a name="appear" val="right"/>
|
|
</tool>
|
|
<tool name="Tunnel">
|
|
<a name="facing" val="east"/>
|
|
</tool>
|
|
</lib>
|
|
<lib desc="#Gates" name="1"/>
|
|
<lib desc="#Plexers" name="2">
|
|
<tool name="Decoder">
|
|
<a name="select" val="3"/>
|
|
</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="Button3" name="Menu Tool"/>
|
|
<tool lib="6" map="Ctrl Button1" 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"/>
|
|
<wire from="(400,170)" to="(460,170)"/>
|
|
<wire from="(490,160)" to="(550,160)"/>
|
|
<wire from="(670,230)" to="(720,230)"/>
|
|
<wire from="(670,170)" to="(720,170)"/>
|
|
<wire from="(530,430)" to="(720,430)"/>
|
|
<wire from="(220,380)" to="(270,380)"/>
|
|
<wire from="(340,420)" to="(340,440)"/>
|
|
<wire from="(570,190)" to="(670,190)"/>
|
|
<wire from="(570,210)" to="(670,210)"/>
|
|
<wire from="(530,430)" to="(530,460)"/>
|
|
<wire from="(670,170)" to="(670,190)"/>
|
|
<wire from="(670,210)" to="(670,230)"/>
|
|
<wire from="(660,140)" to="(660,180)"/>
|
|
<wire from="(660,220)" to="(660,260)"/>
|
|
<wire from="(180,190)" to="(180,420)"/>
|
|
<wire from="(220,150)" to="(220,380)"/>
|
|
<wire from="(100,60)" to="(250,60)"/>
|
|
<wire from="(100,120)" to="(250,120)"/>
|
|
<wire from="(570,180)" to="(660,180)"/>
|
|
<wire from="(570,220)" to="(660,220)"/>
|
|
<wire from="(570,240)" to="(640,240)"/>
|
|
<wire from="(300,380)" to="(380,380)"/>
|
|
<wire from="(650,110)" to="(650,170)"/>
|
|
<wire from="(650,230)" to="(650,290)"/>
|
|
<wire from="(570,170)" to="(650,170)"/>
|
|
<wire from="(570,230)" to="(650,230)"/>
|
|
<wire from="(640,320)" to="(720,320)"/>
|
|
<wire from="(270,110)" to="(400,110)"/>
|
|
<wire from="(100,150)" to="(220,150)"/>
|
|
<wire from="(660,140)" to="(720,140)"/>
|
|
<wire from="(660,260)" to="(720,260)"/>
|
|
<wire from="(250,60)" to="(250,80)"/>
|
|
<wire from="(250,100)" to="(250,120)"/>
|
|
<wire from="(430,400)" to="(720,400)"/>
|
|
<wire from="(450,160)" to="(450,190)"/>
|
|
<wire from="(640,240)" to="(640,320)"/>
|
|
<wire from="(430,460)" to="(530,460)"/>
|
|
<wire from="(300,420)" to="(340,420)"/>
|
|
<wire from="(340,440)" to="(380,440)"/>
|
|
<wire from="(340,420)" to="(380,420)"/>
|
|
<wire from="(570,200)" to="(720,200)"/>
|
|
<wire from="(220,480)" to="(380,480)"/>
|
|
<wire from="(180,420)" to="(270,420)"/>
|
|
<wire from="(220,380)" to="(220,480)"/>
|
|
<wire from="(100,90)" to="(250,90)"/>
|
|
<wire from="(650,290)" to="(720,290)"/>
|
|
<wire from="(450,160)" to="(460,160)"/>
|
|
<wire from="(180,190)" to="(450,190)"/>
|
|
<wire from="(100,190)" to="(180,190)"/>
|
|
<wire from="(650,110)" to="(720,110)"/>
|
|
<wire from="(400,110)" to="(400,170)"/>
|
|
<comp lib="0" loc="(720,230)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 4"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="1" loc="(300,380)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(100,60)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A5"/>
|
|
</comp>
|
|
<comp loc="(490,160)" name="SN74HC138N Active low 3-8 decoder"/>
|
|
<comp lib="0" loc="(720,400)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="RAM_EN"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,120)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A7"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,290)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 6"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,90)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A6"/>
|
|
</comp>
|
|
<comp lib="1" loc="(430,460)" name="OR Gate">
|
|
<a name="inputs" val="2"/>
|
|
</comp>
|
|
<comp lib="0" loc="(270,110)" name="Splitter">
|
|
<a name="facing" val="west"/>
|
|
<a name="fanout" val="3"/>
|
|
<a name="incoming" val="3"/>
|
|
<a name="appear" val="right"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,190)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="IORQ"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,200)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 3"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,140)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 1"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(100,150)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="A15"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,110)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 0"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,260)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 5"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="1" loc="(430,400)" name="OR Gate">
|
|
<a name="inputs" val="2"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,320)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 7"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(550,160)" name="Splitter">
|
|
<a name="fanout" val="8"/>
|
|
<a name="incoming" val="8"/>
|
|
<a name="appear" val="right"/>
|
|
</comp>
|
|
<comp lib="1" loc="(300,420)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(720,170)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="I/O Port 2"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="0" loc="(720,430)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="label" val="ROM_EN"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
</circuit>
|
|
<circuit name="SN74HC138N Active low 3-8 decoder">
|
|
<a name="circuit" val="SN74HC138N Active low 3-8 decoder"/>
|
|
<a name="clabel" val=""/>
|
|
<a name="clabelup" val="east"/>
|
|
<a name="clabelfont" val="SansSerif plain 12"/>
|
|
<wire from="(320,250)" to="(380,250)"/>
|
|
<wire from="(580,180)" to="(580,190)"/>
|
|
<wire from="(650,250)" to="(700,250)"/>
|
|
<wire from="(450,200)" to="(630,200)"/>
|
|
<wire from="(590,180)" to="(630,180)"/>
|
|
<wire from="(590,220)" to="(630,220)"/>
|
|
<wire from="(400,180)" to="(400,200)"/>
|
|
<wire from="(600,140)" to="(600,170)"/>
|
|
<wire from="(380,290)" to="(420,290)"/>
|
|
<wire from="(320,210)" to="(410,210)"/>
|
|
<wire from="(390,270)" to="(420,270)"/>
|
|
<wire from="(80,320)" to="(300,320)"/>
|
|
<wire from="(610,240)" to="(630,240)"/>
|
|
<wire from="(400,250)" to="(420,250)"/>
|
|
<wire from="(450,270)" to="(600,270)"/>
|
|
<wire from="(380,140)" to="(380,180)"/>
|
|
<wire from="(410,230)" to="(420,230)"/>
|
|
<wire from="(80,260)" to="(160,260)"/>
|
|
<wire from="(450,160)" to="(590,160)"/>
|
|
<wire from="(320,200)" to="(400,200)"/>
|
|
<wire from="(300,260)" to="(300,320)"/>
|
|
<wire from="(450,230)" to="(580,230)"/>
|
|
<wire from="(320,190)" to="(390,190)"/>
|
|
<wire from="(320,180)" to="(380,180)"/>
|
|
<wire from="(580,210)" to="(630,210)"/>
|
|
<wire from="(580,190)" to="(630,190)"/>
|
|
<wire from="(410,200)" to="(410,210)"/>
|
|
<wire from="(410,220)" to="(410,230)"/>
|
|
<wire from="(400,230)" to="(400,250)"/>
|
|
<wire from="(590,220)" to="(590,250)"/>
|
|
<wire from="(390,240)" to="(390,270)"/>
|
|
<wire from="(390,160)" to="(390,190)"/>
|
|
<wire from="(580,210)" to="(580,230)"/>
|
|
<wire from="(590,160)" to="(590,180)"/>
|
|
<wire from="(380,140)" to="(420,140)"/>
|
|
<wire from="(190,260)" to="(290,260)"/>
|
|
<wire from="(600,230)" to="(600,270)"/>
|
|
<wire from="(320,220)" to="(410,220)"/>
|
|
<wire from="(450,290)" to="(610,290)"/>
|
|
<wire from="(390,160)" to="(420,160)"/>
|
|
<wire from="(400,180)" to="(420,180)"/>
|
|
<wire from="(600,170)" to="(630,170)"/>
|
|
<wire from="(600,230)" to="(630,230)"/>
|
|
<wire from="(450,140)" to="(600,140)"/>
|
|
<wire from="(380,250)" to="(380,290)"/>
|
|
<wire from="(410,200)" to="(420,200)"/>
|
|
<wire from="(450,250)" to="(590,250)"/>
|
|
<wire from="(320,230)" to="(400,230)"/>
|
|
<wire from="(450,180)" to="(580,180)"/>
|
|
<wire from="(610,240)" to="(610,290)"/>
|
|
<wire from="(320,240)" to="(390,240)"/>
|
|
<comp lib="2" loc="(300,260)" name="Decoder">
|
|
<a name="select" val="3"/>
|
|
<a name="disabled" val="0"/>
|
|
</comp>
|
|
<comp lib="1" loc="(450,250)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(700,250)" name="Pin">
|
|
<a name="facing" val="west"/>
|
|
<a name="output" val="true"/>
|
|
<a name="width" val="8"/>
|
|
<a name="labelloc" val="east"/>
|
|
</comp>
|
|
<comp lib="1" loc="(450,140)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(650,250)" name="Splitter">
|
|
<a name="facing" val="west"/>
|
|
<a name="fanout" val="8"/>
|
|
<a name="incoming" val="8"/>
|
|
<a name="appear" val="right"/>
|
|
</comp>
|
|
<comp lib="1" loc="(450,270)" name="NOT Gate"/>
|
|
<comp lib="1" loc="(450,180)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(80,260)" name="Pin">
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="Enable"/>
|
|
</comp>
|
|
<comp lib="6" loc="(174,292)" name="Text">
|
|
<a name="text" val="Enable is active-low"/>
|
|
</comp>
|
|
<comp lib="1" loc="(190,260)" name="NOT Gate"/>
|
|
<comp lib="1" loc="(450,290)" name="NOT Gate"/>
|
|
<comp lib="0" loc="(80,320)" name="Pin">
|
|
<a name="width" val="3"/>
|
|
<a name="tristate" val="false"/>
|
|
<a name="label" val="Input"/>
|
|
</comp>
|
|
<comp lib="1" loc="(450,230)" name="NOT Gate"/>
|
|
<comp lib="1" loc="(450,160)" name="NOT Gate"/>
|
|
<comp lib="1" loc="(450,200)" name="NOT Gate"/>
|
|
</circuit>
|
|
</project>
|