HW8: correction ex2 (now hopefully it works)

This commit is contained in:
Claudio Maggioni 2018-11-26 09:54:20 +01:00
parent bc4f34a8e8
commit 07cf7fc9b9
1 changed files with 185 additions and 177 deletions

View File

@ -29,8 +29,8 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
</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"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
@ -74,40 +74,23 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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="(610,170)" to="(610,180)"/>
<wire from="(610,250)" to="(650,250)"/>
<wire from="(620,190)" to="(630,190)"/>
<wire from="(560,210)" to="(560,350)"/>
<wire from="(900,130)" to="(900,250)"/>
<wire from="(610,130)" to="(610,170)"/>
<wire from="(610,130)" to="(900,130)"/>
<wire from="(510,200)" to="(550,200)"/>
<wire from="(580,190)" to="(600,190)"/>
<wire from="(510,200)" to="(510,350)"/>
<wire from="(580,190)" to="(590,190)"/>
<wire from="(610,250)" to="(610,350)"/>
<wire from="(610,200)" to="(610,350)"/>
<wire from="(500,190)" to="(550,190)"/>
<wire from="(570,210)" to="(570,240)"/>
<wire from="(610,210)" to="(610,250)"/>
<wire from="(670,250)" to="(900,250)"/>
<comp lib="4" loc="(580,190)" name="Register">
<comp lib="0" loc="(630,190)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(560,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
<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="(801,194)" name="Text">
<a name="text" val="B bus output (open collector)"/>
</comp>
<comp lib="0" loc="(510,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="6" loc="(560,388)" name="Text">
<a name="text" val="Clock"/>
</comp>
<comp lib="6" loc="(379,194)" name="Text">
<a name="text" val="C Bus input"/>
</comp>
@ -115,28 +98,36 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="facing" val="north"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(670,250)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(610,350)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<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="0" loc="(630,190)" name="Transmission Gate">
<a name="width" val="32"/>
<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="(635,389)" name="Text">
<a name="text" val="B bus enable"/>
<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">
@ -144,105 +135,99 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(600,360)" to="(760,360)"/>
<wire from="(760,50)" to="(760,60)"/>
<wire from="(470,460)" to="(500,460)"/>
<wire from="(650,710)" to="(650,720)"/>
<wire from="(600,330)" to="(760,330)"/>
<wire from="(750,700)" to="(750,710)"/>
<wire from="(630,640)" to="(880,640)"/>
<wire from="(600,270)" to="(760,270)"/>
<wire from="(600,420)" to="(760,420)"/>
<wire from="(740,520)" to="(740,660)"/>
<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="(780,50)" to="(900,50)"/>
<wire from="(600,240)" to="(660,240)"/>
<wire from="(720,520)" to="(740,520)"/>
<wire from="(630,520)" to="(630,640)"/>
<wire from="(600,210)" to="(760,210)"/>
<wire from="(630,660)" to="(640,660)"/>
<wire from="(660,50)" to="(760,50)"/>
<wire from="(780,50)" to="(780,60)"/>
<wire from="(600,170)" to="(760,170)"/>
<wire from="(660,50)" to="(660,240)"/>
<wire from="(600,390)" to="(760,390)"/>
<wire from="(860,710)" to="(860,800)"/>
<wire from="(600,460)" to="(760,460)"/>
<wire from="(740,660)" to="(890,660)"/>
<wire from="(600,380)" to="(760,380)"/>
<wire from="(600,410)" to="(760,410)"/>
<wire from="(860,710)" to="(880,710)"/>
<wire from="(630,710)" to="(630,780)"/>
<wire from="(880,140)" to="(880,640)"/>
<wire from="(600,440)" to="(760,440)"/>
<wire from="(660,240)" to="(660,600)"/>
<wire from="(660,660)" to="(740,660)"/>
<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="(560,530)" to="(580,530)"/>
<wire from="(600,300)" to="(760,300)"/>
<wire from="(400,450)" to="(500,450)"/>
<wire from="(600,190)" to="(760,190)"/>
<wire from="(650,600)" to="(650,610)"/>
<wire from="(620,470)" to="(630,470)"/>
<wire from="(460,470)" to="(470,470)"/>
<wire from="(700,240)" to="(760,240)"/>
<wire from="(600,220)" to="(760,220)"/>
<wire from="(710,710)" to="(730,710)"/>
<wire from="(560,490)" to="(580,490)"/>
<wire from="(710,590)" to="(710,710)"/>
<wire from="(470,470)" to="(470,480)"/>
<wire from="(600,250)" to="(760,250)"/>
<wire from="(600,470)" to="(760,470)"/>
<wire from="(700,540)" to="(700,560)"/>
<wire from="(600,310)" to="(760,310)"/>
<wire from="(700,480)" to="(700,500)"/>
<wire from="(720,100)" to="(890,100)"/>
<wire from="(740,660)" to="(740,670)"/>
<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="(900,50)" to="(900,710)"/>
<wire from="(600,350)" to="(760,350)"/>
<wire from="(660,600)" to="(690,600)"/>
<wire from="(600,320)" to="(760,320)"/>
<wire from="(600,280)" to="(760,280)"/>
<wire from="(890,100)" to="(890,660)"/>
<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="(750,710)" to="(860,710)"/>
<wire from="(720,140)" to="(880,140)"/>
<wire from="(600,260)" to="(760,260)"/>
<wire from="(600,430)" to="(760,430)"/>
<wire from="(600,230)" to="(760,230)"/>
<wire from="(690,590)" to="(690,600)"/>
<wire from="(880,710)" to="(880,720)"/>
<wire from="(730,710)" to="(750,710)"/>
<wire from="(760,290)" to="(760,300)"/>
<wire from="(580,530)" to="(580,790)"/>
<wire from="(630,640)" to="(630,660)"/>
<wire from="(760,460)" to="(760,470)"/>
<wire from="(470,480)" to="(500,480)"/>
<wire from="(600,200)" to="(760,200)"/>
<wire from="(600,180)" to="(760,180)"/>
<wire from="(700,480)" to="(760,480)"/>
<wire from="(700,120)" to="(700,240)"/>
<wire from="(470,530)" to="(520,530)"/>
<wire from="(650,710)" to="(710,710)"/>
<wire from="(760,400)" to="(760,410)"/>
<wire from="(750,710)" to="(750,720)"/>
<wire from="(780,490)" to="(790,490)"/>
<wire from="(600,290)" to="(760,290)"/>
<wire from="(600,400)" to="(760,400)"/>
<wire from="(740,120)" to="(770,120)"/>
<wire from="(880,710)" to="(900,710)"/>
<wire from="(630,710)" to="(650,710)"/>
<wire from="(600,450)" to="(760,450)"/>
<wire from="(600,340)" to="(760,340)"/>
<wire from="(770,90)" to="(770,120)"/>
<wire from="(620,800)" to="(860,800)"/>
<wire from="(470,460)" to="(470,470)"/>
<wire from="(730,700)" to="(730,710)"/>
<wire from="(600,370)" to="(760,370)"/>
<wire from="(620,780)" to="(630,780)"/>
<wire from="(630,520)" to="(680,520)"/>
<comp lib="1" loc="(700,560)" name="AND Gate">
<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 loc="(560,490)" name="SP"/>
<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"/>
@ -280,32 +265,52 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="bit30" val="3"/>
<a name="bit31" val="3"/>
</comp>
<comp lib="6" loc="(213,484)" name="Text">
<a name="text" val="Memory in"/>
<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="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="0" loc="(650,720)" name="Pin">
<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="32"/>
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="6" loc="(883,761)" name="Text">
<a name="text" val="MBRU"/>
</comp>
<comp lib="1" loc="(770,90)" name="AND Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(270,580)" name="Pin">
<a name="tristate" val="false"/>
<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"/>
@ -313,46 +318,49 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<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="(460,470)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(740,670)" name="OR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(700,500)" name="Transmission Gate">
<a name="facing" val="north"/>
</comp>
<comp lib="6" loc="(186,583)" name="Text">
<a name="text" val="Clock (mem. driven)"/>
</comp>
<comp lib="0" loc="(780,490)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="32"/>
<a name="fanout" val="26"/>
<a name="incoming" val="32"/>
<a name="appear" val="right"/>
</comp>
<comp lib="6" loc="(652,761)" name="Text">
<a name="text" val="MBR"/>
</comp>
<comp lib="0" loc="(470,530)" name="Constant"/>
<comp lib="0" loc="(880,720)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(700,120)" name="Transmission Gate">
<a name="facing" val="west"/>
<a name="gate" val="br"/>
</comp>
<comp lib="1" loc="(640,660)" name="NOT Gate">
<a name="facing" val="west"/>
<a name="size" val="20"/>
<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>