This repository has been archived on 2021-10-31. You can view files and clone it, but cannot push or open issues or pull requests.
CAHomework/Homework 8/ex2.circ

367 lines
13 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"/>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2"/>
<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="MBR"/>
<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="SP">
<a name="circuit" val="SP"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M556,251 Q560,261 564,251" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="81" stroke="#000000" stroke-width="2" width="41" x="540" y="250"/>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="505" y="263">C bus in</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="620" y="264">B bus out</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="561" y="354">CK</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="515" y="307">C en</text>
<text font-family="SansSerif" font-size="12" text-anchor="middle" x="603" y="305">B en</text>
<circ-port height="8" pin="500,190" width="8" x="536" y="256"/>
<circ-port height="10" pin="630,190" width="10" x="575" y="255"/>
<circ-port height="8" pin="510,350" width="8" x="536" y="296"/>
<circ-port height="8" pin="560,350" width="8" x="556" y="326"/>
<circ-port height="8" pin="610,350" width="8" x="576" y="296"/>
<circ-anchor facing="east" height="6" width="6" x="577" y="257"/>
</appear>
<wire from="(620,190)" to="(630,190)"/>
<wire from="(560,210)" to="(560,350)"/>
<wire from="(510,200)" to="(550,200)"/>
<wire from="(580,190)" to="(600,190)"/>
<wire from="(510,200)" to="(510,350)"/>
<wire from="(610,200)" to="(610,350)"/>
<wire from="(500,190)" to="(550,190)"/>
<wire from="(570,210)" to="(570,240)"/>
<comp lib="0" loc="(630,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="6" loc="(484,389)" name="Text">
<a name="text" val="C Bus enable"/>
</comp>
<comp lib="6" loc="(379,194)" name="Text">
<a name="text" val="C Bus input"/>
</comp>
<comp lib="0" loc="(570,240)" name="Constant">
<a name="facing" val="north"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="6" loc="(635,389)" name="Text">
<a name="text" val="B bus enable"/>
</comp>
<comp lib="0" loc="(500,190)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="6" loc="(560,388)" name="Text">
<a name="text" val="Clock"/>
</comp>
<comp lib="1" loc="(620,190)" name="Controlled Buffer">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(610,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(560,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="4" loc="(580,190)" name="Register">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(510,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="6" loc="(801,194)" name="Text">
<a name="text" val="B bus output (open collector)"/>
</comp>
</circuit>
<circuit name="MBR">
<a name="circuit" val="MBR"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(470,460)" to="(500,460)"/>
<wire from="(760,390)" to="(760,400)"/>
<wire from="(760,360)" to="(760,370)"/>
<wire from="(760,420)" to="(760,430)"/>
<wire from="(760,330)" to="(760,340)"/>
<wire from="(580,790)" to="(590,790)"/>
<wire from="(620,780)" to="(640,780)"/>
<wire from="(760,270)" to="(760,280)"/>
<wire from="(760,450)" to="(760,460)"/>
<wire from="(760,300)" to="(760,310)"/>
<wire from="(580,820)" to="(800,820)"/>
<wire from="(640,710)" to="(660,710)"/>
<wire from="(660,710)" to="(660,720)"/>
<wire from="(660,640)" to="(660,710)"/>
<wire from="(640,710)" to="(640,780)"/>
<wire from="(580,790)" to="(580,820)"/>
<wire from="(600,470)" to="(620,470)"/>
<wire from="(270,580)" to="(540,580)"/>
<wire from="(650,600)" to="(650,610)"/>
<wire from="(620,470)" to="(630,470)"/>
<wire from="(460,470)" to="(470,470)"/>
<wire from="(470,470)" to="(470,480)"/>
<wire from="(760,310)" to="(760,320)"/>
<wire from="(760,440)" to="(760,450)"/>
<wire from="(760,370)" to="(760,380)"/>
<wire from="(760,380)" to="(760,390)"/>
<wire from="(760,260)" to="(760,270)"/>
<wire from="(630,240)" to="(630,470)"/>
<wire from="(470,530)" to="(520,530)"/>
<wire from="(630,240)" to="(760,240)"/>
<wire from="(760,320)" to="(760,330)"/>
<wire from="(470,460)" to="(470,470)"/>
<wire from="(760,430)" to="(760,440)"/>
<wire from="(620,470)" to="(620,650)"/>
<wire from="(620,230)" to="(760,230)"/>
<wire from="(650,480)" to="(650,580)"/>
<wire from="(640,640)" to="(640,650)"/>
<wire from="(660,590)" to="(800,590)"/>
<wire from="(760,470)" to="(760,480)"/>
<wire from="(620,650)" to="(640,650)"/>
<wire from="(760,280)" to="(760,290)"/>
<wire from="(620,230)" to="(620,460)"/>
<wire from="(560,530)" to="(580,530)"/>
<wire from="(760,250)" to="(760,260)"/>
<wire from="(400,450)" to="(500,450)"/>
<wire from="(560,490)" to="(580,490)"/>
<wire from="(800,590)" to="(800,820)"/>
<wire from="(760,340)" to="(760,350)"/>
<wire from="(400,450)" to="(400,480)"/>
<wire from="(540,560)" to="(540,580)"/>
<wire from="(760,410)" to="(760,420)"/>
<wire from="(620,800)" to="(730,800)"/>
<wire from="(470,470)" to="(500,470)"/>
<wire from="(600,460)" to="(620,460)"/>
<wire from="(330,480)" to="(400,480)"/>
<wire from="(730,710)" to="(750,710)"/>
<wire from="(760,290)" to="(760,300)"/>
<wire from="(580,530)" to="(580,790)"/>
<wire from="(760,460)" to="(760,470)"/>
<wire from="(470,480)" to="(500,480)"/>
<wire from="(760,400)" to="(760,410)"/>
<wire from="(750,710)" to="(750,720)"/>
<wire from="(780,490)" to="(790,490)"/>
<wire from="(760,350)" to="(760,360)"/>
<wire from="(730,710)" to="(730,800)"/>
<wire from="(650,480)" to="(760,480)"/>
<comp lib="0" loc="(660,720)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="6" loc="(213,484)" name="Text">
<a name="text" val="Memory in"/>
</comp>
<comp lib="1" loc="(590,790)" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(650,610)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(650,580)" name="Controlled Buffer">
<a name="facing" val="north"/>
</comp>
<comp lib="6" loc="(186,583)" name="Text">
<a name="text" val="Clock (mem. driven)"/>
</comp>
<comp lib="6" loc="(753,757)" name="Text">
<a name="text" val="MBRU"/>
</comp>
<comp lib="0" loc="(470,530)" name="Constant"/>
<comp lib="0" loc="(520,490)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="32"/>
<a name="appear" val="right"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
<a name="bit16" val="2"/>
<a name="bit17" val="2"/>
<a name="bit18" val="2"/>
<a name="bit19" val="2"/>
<a name="bit20" val="2"/>
<a name="bit21" val="2"/>
<a name="bit22" val="2"/>
<a name="bit23" val="2"/>
<a name="bit24" val="3"/>
<a name="bit25" val="3"/>
<a name="bit26" val="3"/>
<a name="bit27" val="3"/>
<a name="bit28" val="3"/>
<a name="bit29" val="3"/>
<a name="bit30" val="3"/>
<a name="bit31" val="3"/>
</comp>
<comp loc="(560,490)" name="SP"/>
<comp lib="0" loc="(460,470)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(750,720)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="6" loc="(662,757)" name="Text">
<a name="text" val="MBR"/>
</comp>
<comp lib="0" loc="(580,490)" name="Splitter">
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="1"/>
<a name="bit8" val="2"/>
<a name="bit9" val="2"/>
<a name="bit10" val="2"/>
<a name="bit11" val="2"/>
<a name="bit12" val="2"/>
<a name="bit13" val="2"/>
<a name="bit14" val="2"/>
<a name="bit15" val="2"/>
<a name="bit16" val="2"/>
<a name="bit17" val="2"/>
<a name="bit18" val="2"/>
<a name="bit19" val="2"/>
<a name="bit20" val="2"/>
<a name="bit21" val="2"/>
<a name="bit22" val="2"/>
<a name="bit23" val="2"/>
<a name="bit24" val="2"/>
<a name="bit25" val="2"/>
<a name="bit26" val="2"/>
<a name="bit27" val="2"/>
<a name="bit28" val="2"/>
<a name="bit29" val="2"/>
<a name="bit30" val="2"/>
<a name="bit31" val="2"/>
</comp>
<comp lib="0" loc="(790,490)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(270,580)" name="Pin">
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(330,480)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(780,490)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="26"/>
<a name="incoming" val="32"/>
<a name="appear" val="right"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="1"/>
<a name="bit8" val="2"/>
<a name="bit9" val="3"/>
<a name="bit10" val="4"/>
<a name="bit11" val="5"/>
<a name="bit12" val="6"/>
<a name="bit13" val="7"/>
<a name="bit14" val="8"/>
<a name="bit15" val="9"/>
<a name="bit16" val="10"/>
<a name="bit17" val="11"/>
<a name="bit18" val="12"/>
<a name="bit19" val="13"/>
<a name="bit20" val="14"/>
<a name="bit21" val="15"/>
<a name="bit22" val="16"/>
<a name="bit23" val="17"/>
<a name="bit24" val="18"/>
<a name="bit25" val="19"/>
<a name="bit26" val="20"/>
<a name="bit27" val="21"/>
<a name="bit28" val="22"/>
<a name="bit29" val="23"/>
<a name="bit30" val="24"/>
<a name="bit31" val="25"/>
</comp>
</circuit>
</project>