diff --git a/CPU/CPU.circ b/CPU/CPU.circ index a15faa49962d28f1436ddd9cb20b077f033df0c6..9b487c537b9fb7198ed4bffec37ef64449e9d14e 100644 --- a/CPU/CPU.circ +++ b/CPU/CPU.circ @@ -1,10 +1,17 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<project source="3.7.2" version="1.0"> - This file is intended to be loaded by Logisim-evolution v3.7.2(https://github.com/logisim-evolution/). +<project source="3.0.0" version="1.0"> + This file is intended to be loaded by Logisim-evolution (https://github.com/reds-heig/logisim-evolution). <lib desc="#Wiring" name="0"> <tool name="Splitter"> - <a name="facing" val="north"/> + <a name="fanout" val="32"/> + <a name="incoming" val="32"/> + </tool> + <tool name="Pin"> + <a name="appearance" val="NewPins"/> + </tool> + <tool name="Probe"> + <a name="appearance" val="NewPins"/> </tool> <tool name="Tunnel"> <a name="facing" val="east"/> @@ -15,13 +22,54 @@ <a name="facing" val="north"/> </tool> </lib> - <lib desc="#Plexers" name="2"/> + <lib desc="#Plexers" name="2"> + <tool name="Multiplexer"> + <a name="enable" val="false"/> + </tool> + <tool name="Demultiplexer"> + <a name="enable" val="false"/> + </tool> + </lib> <lib desc="#Arithmetic" name="3"/> - <lib desc="#Memory" name="4"/> + <lib desc="#Memory" name="4"> + <tool name="D Flip-Flop"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="T Flip-Flop"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="J-K Flip-Flop"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="S-R Flip-Flop"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="Counter"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="Shift Register"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="Random"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="RAM"> + <a name="appearance" val="logisim_evolution"/> + </tool> + <tool name="ROM"> + <a name="contents">addr/data: 8 8 +0 +</a> + <a name="appearance" val="logisim_evolution"/> + </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="TOP"/> @@ -29,6 +77,7 @@ <a name="gateUndefined" val="ignore"/> <a name="simlimit" val="1000"/> <a name="simrand" val="0"/> + <a name="tickmain" val="half_period"/> </options> <mappings> <tool lib="6" map="Button2" name="Menu Tool"/> @@ -39,36 +88,256 @@ <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"/> + <tool lib="0" name="Pin"> + <a name="appearance" val="NewPins"/> + </tool> <tool lib="0" name="Pin"> <a name="facing" val="west"/> <a name="output" val="true"/> + <a name="appearance" val="NewPins"/> </tool> <tool lib="1" name="NOT Gate"/> <tool lib="1" name="AND Gate"/> <tool lib="1" name="OR Gate"/> </toolbar> <circuit name="CPU"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="CPU"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> - <comp lib="0" loc="(1000,350)" name="Tunnel"> - <a name="label" val="PC"/> - <a name="width" val="4"/> - </comp> + <a name="circuitvhdlpath" val=""/> + <wire from="(1500,300)" to="(1500,320)"/> + <wire from="(530,350)" to="(530,490)"/> + <wire from="(1880,760)" to="(1880,780)"/> + <wire from="(970,1280)" to="(1030,1280)"/> + <wire from="(1480,930)" to="(1520,930)"/> + <wire from="(310,630)" to="(310,640)"/> + <wire from="(500,400)" to="(670,400)"/> + <wire from="(730,520)" to="(730,610)"/> + <wire from="(830,430)" to="(830,460)"/> + <wire from="(1060,1290)" to="(1120,1290)"/> + <wire from="(800,1290)" to="(840,1290)"/> + <wire from="(1270,630)" to="(1270,640)"/> + <wire from="(270,670)" to="(270,700)"/> + <wire from="(1130,650)" to="(1130,660)"/> + <wire from="(1400,920)" to="(1450,920)"/> + <wire from="(810,1000)" to="(830,1000)"/> + <wire from="(810,920)" to="(830,920)"/> + <wire from="(1520,880)" to="(1520,930)"/> + <wire from="(410,680)" to="(430,680)"/> + <wire from="(1740,260)" to="(1750,260)"/> + <wire from="(1130,570)" to="(1130,630)"/> + <wire from="(870,1100)" to="(1030,1100)"/> + <wire from="(2220,300)" to="(2220,320)"/> + <wire from="(1700,690)" to="(1720,690)"/> + <wire from="(1750,260)" to="(1770,260)"/> + <wire from="(1820,720)" to="(1850,720)"/> + <wire from="(1490,160)" to="(1510,160)"/> + <wire from="(1490,240)" to="(1510,240)"/> + <wire from="(1030,1140)" to="(1050,1140)"/> + <wire from="(980,1190)" to="(1030,1190)"/> + <wire from="(1490,180)" to="(1490,200)"/> + <wire from="(1490,260)" to="(1490,280)"/> + <wire from="(870,1480)" to="(920,1480)"/> + <wire from="(240,450)" to="(240,460)"/> + <wire from="(990,630)" to="(1050,630)"/> + <wire from="(2220,300)" to="(2240,300)"/> + <wire from="(1030,1160)" to="(1030,1190)"/> + <wire from="(270,430)" to="(270,510)"/> + <wire from="(790,1170)" to="(830,1170)"/> + <wire from="(450,330)" to="(560,330)"/> + <wire from="(2210,300)" to="(2220,300)"/> + <wire from="(600,630)" to="(770,630)"/> + <wire from="(790,1190)" to="(810,1190)"/> + <wire from="(670,340)" to="(700,340)"/> + <wire from="(740,650)" to="(770,650)"/> + <wire from="(740,730)" to="(770,730)"/> + <wire from="(440,1160)" to="(460,1160)"/> + <wire from="(710,370)" to="(800,370)"/> + <wire from="(860,370)" to="(890,370)"/> + <wire from="(870,940)" to="(900,940)"/> + <wire from="(370,190)" to="(510,190)"/> + <wire from="(260,430)" to="(270,430)"/> + <wire from="(810,1200)" to="(940,1200)"/> + <wire from="(1740,300)" to="(1760,300)"/> + <wire from="(1400,670)" to="(1430,670)"/> + <wire from="(1490,850)" to="(1510,850)"/> + <wire from="(1090,690)" to="(1110,690)"/> + <wire from="(670,360)" to="(680,360)"/> + <wire from="(1460,310)" to="(1460,350)"/> + <wire from="(1760,590)" to="(1800,590)"/> + <wire from="(1030,470)" to="(1030,610)"/> + <wire from="(580,600)" to="(580,610)"/> + <wire from="(1420,320)" to="(1420,350)"/> + <wire from="(530,490)" to="(890,490)"/> + <wire from="(480,420)" to="(480,440)"/> + <wire from="(1210,540)" to="(1210,610)"/> + <wire from="(800,1310)" to="(840,1310)"/> + <wire from="(870,1300)" to="(910,1300)"/> + <wire from="(800,1280)" to="(970,1280)"/> + <wire from="(1400,940)" to="(1450,940)"/> + <wire from="(690,390)" to="(690,410)"/> + <wire from="(1480,180)" to="(1490,180)"/> + <wire from="(1480,260)" to="(1490,260)"/> + <wire from="(810,1020)" to="(830,1020)"/> + <wire from="(810,940)" to="(830,940)"/> + <wire from="(960,1300)" to="(960,1340)"/> + <wire from="(250,700)" to="(270,700)"/> + <wire from="(1460,350)" to="(1720,350)"/> + <wire from="(1760,300)" to="(1770,300)"/> + <wire from="(1200,660)" to="(1200,720)"/> + <wire from="(210,420)" to="(230,420)"/> + <wire from="(890,370)" to="(920,370)"/> + <wire from="(1720,350)" to="(2000,350)"/> + <wire from="(1540,860)" to="(1570,860)"/> + <wire from="(1700,630)" to="(1720,630)"/> + <wire from="(1750,280)" to="(1770,280)"/> + <wire from="(200,550)" to="(340,550)"/> + <wire from="(1820,740)" to="(1850,740)"/> + <wire from="(1490,180)" to="(1510,180)"/> + <wire from="(1430,1000)" to="(1450,1000)"/> + <wire from="(1490,260)" to="(1510,260)"/> + <wire from="(1030,1160)" to="(1050,1160)"/> + <wire from="(2020,300)" to="(2050,300)"/> + <wire from="(560,620)" to="(570,620)"/> + <wire from="(910,1300)" to="(960,1300)"/> + <wire from="(230,610)" to="(290,610)"/> + <wire from="(1470,1060)" to="(1570,1060)"/> + <wire from="(360,520)" to="(730,520)"/> + <wire from="(1050,480)" to="(1150,480)"/> + <wire from="(2220,320)" to="(2240,320)"/> + <wire from="(1750,220)" to="(1750,240)"/> + <wire from="(910,1300)" to="(910,1330)"/> + <wire from="(1130,630)" to="(1190,630)"/> + <wire from="(1140,720)" to="(1200,720)"/> + <wire from="(2000,350)" to="(2190,350)"/> + <wire from="(670,340)" to="(670,360)"/> + <wire from="(810,1390)" to="(830,1390)"/> + <wire from="(810,1470)" to="(830,1470)"/> + <wire from="(970,1280)" to="(970,1320)"/> + <wire from="(440,1180)" to="(460,1180)"/> + <wire from="(450,390)" to="(470,390)"/> + <wire from="(960,1300)" to="(1030,1300)"/> + <wire from="(2000,310)" to="(2000,350)"/> + <wire from="(1030,1100)" to="(1030,1140)"/> + <wire from="(230,650)" to="(300,650)"/> + <wire from="(1480,300)" to="(1500,300)"/> + <wire from="(1490,870)" to="(1510,870)"/> + <wire from="(1090,710)" to="(1110,710)"/> + <wire from="(670,380)" to="(680,380)"/> + <wire from="(1760,610)" to="(1800,610)"/> + <wire from="(2190,310)" to="(2190,350)"/> + <wire from="(1420,350)" to="(1460,350)"/> + <wire from="(340,540)" to="(340,550)"/> + <wire from="(740,1270)" to="(780,1270)"/> + <wire from="(1060,1330)" to="(1120,1330)"/> + <wire from="(1150,470)" to="(1150,480)"/> + <wire from="(1700,610)" to="(1760,610)"/> + <wire from="(1050,630)" to="(1130,630)"/> + <wire from="(1500,300)" to="(1510,300)"/> + <wire from="(530,350)" to="(560,350)"/> + <wire from="(1740,220)" to="(1750,220)"/> + <wire from="(1760,320)" to="(1770,320)"/> + <wire from="(150,540)" to="(170,540)"/> + <wire from="(210,440)" to="(230,440)"/> + <wire from="(370,170)" to="(520,170)"/> + <wire from="(870,1010)" to="(900,1010)"/> + <wire from="(1910,700)" to="(1930,700)"/> + <wire from="(2220,260)" to="(2220,280)"/> + <wire from="(1700,650)" to="(1720,650)"/> + <wire from="(1750,220)" to="(1770,220)"/> + <wire from="(1400,350)" to="(1420,350)"/> + <wire from="(1490,200)" to="(1510,200)"/> + <wire from="(1490,280)" to="(1510,280)"/> + <wire from="(790,390)" to="(800,390)"/> + <wire from="(1080,1150)" to="(1100,1150)"/> + <wire from="(1160,350)" to="(1180,350)"/> + <wire from="(560,640)" to="(570,640)"/> + <wire from="(270,510)" to="(330,510)"/> + <wire from="(1490,140)" to="(1490,160)"/> + <wire from="(1490,220)" to="(1490,240)"/> + <wire from="(1030,610)" to="(1210,610)"/> + <wire from="(1050,480)" to="(1050,630)"/> + <wire from="(1740,700)" to="(1850,700)"/> + <wire from="(230,720)" to="(230,730)"/> + <wire from="(440,690)" to="(440,700)"/> + <wire from="(2220,260)" to="(2240,260)"/> + <wire from="(800,1300)" to="(840,1300)"/> + <wire from="(1130,650)" to="(1190,650)"/> + <wire from="(2210,260)" to="(2220,260)"/> + <wire from="(990,610)" to="(1030,610)"/> + <wire from="(330,660)" to="(430,660)"/> + <wire from="(810,1090)" to="(830,1090)"/> + <wire from="(810,1410)" to="(830,1410)"/> + <wire from="(810,1490)" to="(830,1490)"/> + <wire from="(810,850)" to="(830,850)"/> + <wire from="(560,600)" to="(580,600)"/> + <wire from="(1100,670)" to="(1110,670)"/> + <wire from="(740,690)" to="(770,690)"/> + <wire from="(440,1120)" to="(460,1120)"/> + <wire from="(450,410)" to="(470,410)"/> + <wire from="(1460,1020)" to="(1530,1020)"/> + <wire from="(110,710)" to="(130,710)"/> + <wire from="(890,370)" to="(890,490)"/> + <wire from="(1090,730)" to="(1110,730)"/> + <wire from="(1270,630)" to="(1480,630)"/> + <wire from="(810,1190)" to="(810,1200)"/> + <wire from="(870,1400)" to="(930,1400)"/> + <wire from="(1760,300)" to="(1760,320)"/> + <wire from="(1220,640)" to="(1270,640)"/> + <wire from="(1210,610)" to="(1480,610)"/> + <wire from="(1480,140)" to="(1490,140)"/> + <wire from="(1480,220)" to="(1490,220)"/> + <wire from="(1500,320)" to="(1510,320)"/> + <wire from="(270,670)" to="(300,670)"/> + <wire from="(150,560)" to="(170,560)"/> + <wire from="(870,870)" to="(900,870)"/> + <wire from="(1450,650)" to="(1480,650)"/> + <wire from="(210,710)" to="(220,710)"/> + <wire from="(1700,670)" to="(1720,670)"/> + <wire from="(1750,240)" to="(1770,240)"/> + <wire from="(1490,140)" to="(1510,140)"/> + <wire from="(1490,220)" to="(1510,220)"/> + <wire from="(790,410)" to="(800,410)"/> + <wire from="(440,210)" to="(510,210)"/> + <wire from="(860,1180)" to="(940,1180)"/> + <wire from="(970,1320)" to="(1020,1320)"/> + <wire from="(2220,280)" to="(2240,280)"/> + <wire from="(460,670)" to="(770,670)"/> + <wire from="(1750,260)" to="(1750,280)"/> + <wire from="(1760,590)" to="(1760,610)"/> + <wire from="(730,610)" to="(770,610)"/> + <wire from="(670,380)" to="(670,400)"/> + <wire from="(810,1110)" to="(830,1110)"/> + <wire from="(810,1190)" to="(830,1190)"/> + <wire from="(810,870)" to="(830,870)"/> + <wire from="(940,360)" to="(960,360)"/> + <wire from="(310,530)" to="(330,530)"/> + <wire from="(740,710)" to="(770,710)"/> + <wire from="(440,1140)" to="(460,1140)"/> + <wire from="(1720,310)" to="(1720,350)"/> + <wire from="(600,340)" to="(670,340)"/> + <wire from="(1470,1040)" to="(1500,1040)"/> + <wire from="(960,1340)" to="(1030,1340)"/> + <wire from="(1390,320)" to="(1420,320)"/> + <wire from="(150,690)" to="(220,690)"/> <comp lib="0" loc="(1030,470)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1090,690)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="6"/> <a name="label" val="OFFSET"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="6"/> </comp> <comp lib="0" loc="(1090,710)" name="Tunnel"> <a name="facing" val="east"/> @@ -82,17 +351,17 @@ </comp> <comp lib="0" loc="(110,710)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="16"/> <a name="label" val="INSTRUCTION"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="16"/> </comp> <comp lib="0" loc="(1100,1150)" name="Tunnel"> <a name="label" val="EN_COND_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1100,670)" name="Constant"> - <a name="value" val="0x0"/> <a name="width" val="2"/> + <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(1120,1290)" name="Tunnel"> <a name="label" val="EN_BR"/> @@ -104,11 +373,14 @@ </comp> <comp lib="0" loc="(1130,570)" name="Tunnel"> <a name="facing" val="south"/> + <a name="width" val="8"/> <a name="label" val="CPU_REG_BANK_OUT_B"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1130,660)" name="Splitter"> + <a name="facing" val="west"/> + <a name="incoming" val="8"/> + <a name="spacing" val="2"/> <a name="bit1" val="0"/> <a name="bit2" val="1"/> <a name="bit3" val="1"/> @@ -116,33 +388,25 @@ <a name="bit5" val="1"/> <a name="bit6" val="1"/> <a name="bit7" val="1"/> - <a name="facing" val="west"/> - <a name="incoming" val="8"/> - <a name="spacing" val="2"/> </comp> <comp lib="0" loc="(1150,470)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1160,350)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="7"/> <a name="label" val="PC"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1210,540)" name="Tunnel"> <a name="facing" val="south"/> + <a name="width" val="8"/> <a name="label" val="CPU_REG_BANK_OUT_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(130,710)" name="Splitter"> + <a name="incoming" val="16"/> <a name="bit1" val="0"/> - <a name="bit10" val="none"/> - <a name="bit11" val="none"/> - <a name="bit12" val="none"/> - <a name="bit13" val="none"/> - <a name="bit14" val="none"/> - <a name="bit15" val="none"/> <a name="bit2" val="0"/> <a name="bit3" val="0"/> <a name="bit4" val="0"/> @@ -151,19 +415,24 @@ <a name="bit7" val="0"/> <a name="bit8" val="none"/> <a name="bit9" val="none"/> - <a name="incoming" val="16"/> + <a name="bit10" val="none"/> + <a name="bit11" val="none"/> + <a name="bit12" val="none"/> + <a name="bit13" val="none"/> + <a name="bit14" val="none"/> + <a name="bit15" val="none"/> </comp> <comp lib="0" loc="(1390,320)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="16"/> <a name="label" val="INSTRUCTION"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="16"/> </comp> <comp lib="0" loc="(1400,670)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1400,920)" name="Tunnel"> <a name="facing" val="east"/> @@ -177,17 +446,20 @@ </comp> <comp lib="0" loc="(1430,1000)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="RES_ALU"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1430,670)" name="Splitter"> + <a name="incoming" val="4"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> <a name="bit3" val="1"/> - <a name="incoming" val="4"/> </comp> <comp lib="0" loc="(1450,1000)" name="Splitter"> + <a name="facing" val="south"/> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> <a name="bit3" val="0"/> @@ -195,18 +467,12 @@ <a name="bit5" val="none"/> <a name="bit6" val="none"/> <a name="bit7" val="none"/> - <a name="facing" val="south"/> - <a name="fanout" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(1460,310)" name="Splitter"> + <a name="fanout" val="5"/> + <a name="incoming" val="16"/> + <a name="spacing" val="4"/> <a name="bit1" val="0"/> - <a name="bit10" val="3"/> - <a name="bit11" val="3"/> - <a name="bit12" val="4"/> - <a name="bit13" val="4"/> - <a name="bit14" val="4"/> - <a name="bit15" val="4"/> <a name="bit2" val="0"/> <a name="bit3" val="1"/> <a name="bit4" val="1"/> @@ -215,15 +481,18 @@ <a name="bit7" val="2"/> <a name="bit8" val="2"/> <a name="bit9" val="3"/> - <a name="fanout" val="5"/> - <a name="incoming" val="16"/> - <a name="spacing" val="4"/> + <a name="bit10" val="3"/> + <a name="bit11" val="3"/> + <a name="bit12" val="4"/> + <a name="bit13" val="4"/> + <a name="bit14" val="4"/> + <a name="bit15" val="4"/> </comp> <comp lib="0" loc="(1470,1040)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="CPU_REG_BANK_OUT_B"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1470,1060)" name="Tunnel"> <a name="facing" val="east"/> @@ -235,9 +504,9 @@ </comp> <comp lib="0" loc="(1490,870)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="INSTR_TO_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(150,540)" name="Tunnel"> <a name="facing" val="east"/> @@ -250,83 +519,80 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1500,1040)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="RAM_DATA_WR"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="RAM_DATA_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1510,140)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="RESERVED"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1510,160)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1510,180)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="SOURCE_1"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1510,200)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1510,220)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="SOURCE_0"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1510,240)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1510,260)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="RESULT"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1510,280)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1510,300)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1510,320)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1530,1020)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="RAM_ADDR"/> <a name="output" val="true"/> <a name="width" val="5"/> + <a name="label" val="RAM_ADDR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1570,1060)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="RAM_EN_WR"/> <a name="output" val="true"/> + <a name="label" val="RAM_EN_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1570,860)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="INC_PC"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1720,310)" name="Splitter"> + <a name="fanout" val="3"/> + <a name="incoming" val="16"/> + <a name="spacing" val="4"/> <a name="bit1" val="0"/> - <a name="bit10" val="1"/> - <a name="bit11" val="1"/> - <a name="bit12" val="2"/> - <a name="bit13" val="2"/> - <a name="bit14" val="2"/> - <a name="bit15" val="2"/> <a name="bit2" val="0"/> <a name="bit3" val="0"/> <a name="bit4" val="0"/> @@ -335,56 +601,59 @@ <a name="bit7" val="0"/> <a name="bit8" val="1"/> <a name="bit9" val="1"/> - <a name="fanout" val="3"/> - <a name="incoming" val="16"/> - <a name="spacing" val="4"/> + <a name="bit10" val="1"/> + <a name="bit11" val="1"/> + <a name="bit12" val="2"/> + <a name="bit13" val="2"/> + <a name="bit14" val="2"/> + <a name="bit15" val="2"/> </comp> <comp lib="0" loc="(1740,700)" name="Splitter"> + <a name="facing" val="west"/> + <a name="fanout" val="4"/> + <a name="incoming" val="4"/> <a name="appear" val="right"/> + <a name="spacing" val="2"/> <a name="bit0" val="3"/> <a name="bit1" val="2"/> <a name="bit2" val="1"/> <a name="bit3" val="0"/> - <a name="facing" val="west"/> - <a name="fanout" val="4"/> - <a name="incoming" val="4"/> - <a name="spacing" val="2"/> </comp> <comp lib="0" loc="(1770,220)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="INSTR_TO_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1770,240)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1770,260)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="FLAGS_CONDITION"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1770,280)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1770,300)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1770,320)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1800,590)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1800,610)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="RES_ALU"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1820,720)" name="Tunnel"> <a name="facing" val="east"/> @@ -402,19 +671,16 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1930,700)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="LAST_FLAGS"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(2000,310)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="16"/> + <a name="spacing" val="4"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> - <a name="bit10" val="0"/> - <a name="bit11" val="0"/> - <a name="bit12" val="none"/> - <a name="bit13" val="none"/> - <a name="bit14" val="none"/> - <a name="bit15" val="none"/> <a name="bit2" val="none"/> <a name="bit3" val="none"/> <a name="bit4" val="none"/> @@ -423,41 +689,40 @@ <a name="bit7" val="none"/> <a name="bit8" val="none"/> <a name="bit9" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="16"/> - <a name="spacing" val="4"/> + <a name="bit10" val="0"/> + <a name="bit11" val="0"/> + <a name="bit12" val="none"/> + <a name="bit13" val="none"/> + <a name="bit14" val="none"/> + <a name="bit15" val="none"/> </comp> <comp lib="0" loc="(2050,300)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADDR_RL"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(210,420)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="SOURCE_0"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(210,440)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADDR_RL"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(210,710)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="PC_1"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(2190,310)" name="Splitter"> + <a name="incoming" val="16"/> + <a name="spacing" val="4"/> <a name="bit1" val="0"/> - <a name="bit10" val="none"/> - <a name="bit11" val="none"/> - <a name="bit12" val="none"/> - <a name="bit13" val="none"/> - <a name="bit14" val="none"/> - <a name="bit15" val="none"/> <a name="bit2" val="0"/> <a name="bit3" val="0"/> <a name="bit4" val="0"/> @@ -466,38 +731,42 @@ <a name="bit7" val="1"/> <a name="bit8" val="1"/> <a name="bit9" val="none"/> - <a name="incoming" val="16"/> - <a name="spacing" val="4"/> + <a name="bit10" val="none"/> + <a name="bit11" val="none"/> + <a name="bit12" val="none"/> + <a name="bit13" val="none"/> + <a name="bit14" val="none"/> + <a name="bit15" val="none"/> </comp> <comp lib="0" loc="(2240,260)" name="Tunnel"> + <a name="width" val="6"/> <a name="label" val="OFFSET"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="6"/> </comp> <comp lib="0" loc="(2240,280)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(2240,300)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD_POINTER"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(2240,320)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(230,610)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(230,650)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="RES_ALU"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(230,730)" name="Tunnel"> <a name="facing" val="north"/> @@ -510,52 +779,52 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(290,610)" name="Splitter"> + <a name="facing" val="south"/> + <a name="incoming" val="4"/> <a name="bit0" val="1"/> <a name="bit2" val="1"/> <a name="bit3" val="0"/> - <a name="facing" val="south"/> - <a name="incoming" val="4"/> </comp> <comp lib="0" loc="(310,530)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD_POINTER"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(370,170)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(370,190)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(410,680)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="RAM_OUT"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(440,1120)" name="Constant"> - <a name="value" val="0xb"/> <a name="width" val="4"/> + <a name="value" val="0xb"/> </comp> <comp lib="0" loc="(440,1140)" name="Constant"> - <a name="value" val="0xa"/> <a name="width" val="4"/> + <a name="value" val="0xa"/> </comp> <comp lib="0" loc="(440,1160)" name="Constant"> - <a name="value" val="0xc"/> <a name="width" val="4"/> + <a name="value" val="0xc"/> </comp> <comp lib="0" loc="(440,1180)" name="Constant"> - <a name="value" val="0xd"/> <a name="width" val="4"/> + <a name="value" val="0xd"/> </comp> <comp lib="0" loc="(440,210)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="WB_RAM"/> <a name="width" val="8"/> + <a name="label" val="WB_RAM"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(440,700)" name="Tunnel"> <a name="facing" val="north"/> @@ -564,41 +833,41 @@ </comp> <comp lib="0" loc="(450,330)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="INC_PC"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(450,390)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="CPU_REG_BANK_OUT_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(450,410)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="INSTR_TO_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(460,1120)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="INSTR_INCOND_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(460,1140)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="INSTR_COND_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(460,1160)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="INSTR_LOAD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(460,1180)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="INSTR_STORE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(480,440)" name="Tunnel"> <a name="facing" val="north"/> @@ -610,9 +879,9 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(510,210)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="RAM_OUT"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(520,170)" name="Tunnel"> <a name="label" val="CLK"/> @@ -625,15 +894,15 @@ </comp> <comp lib="0" loc="(560,620)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="SOURCE_1"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(560,640)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="RESULT"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(690,410)" name="Tunnel"> <a name="facing" val="north"/> @@ -641,21 +910,21 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(700,340)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="PC_1"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(740,1270)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(740,650)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="RESULT"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(740,690)" name="Tunnel"> <a name="facing" val="east"/> @@ -673,21 +942,21 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(780,1270)" name="Splitter"> - <a name="appear" val="right"/> <a name="fanout" val="4"/> <a name="incoming" val="4"/> + <a name="appear" val="right"/> </comp> <comp lib="0" loc="(790,1170)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="LAST_FLAGS"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(790,1190)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="FLAGS_CONDITION"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(790,390)" name="Constant"/> <comp lib="0" loc="(790,410)" name="Tunnel"> @@ -697,71 +966,71 @@ </comp> <comp lib="0" loc="(810,1000)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1020)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="INSTR_INCOND_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1090)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1110)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="INSTR_COND_JUMP"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1390)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1410)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="INSTR_LOAD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1470)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,1490)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="INSTR_STORE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,850)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,870)" name="Constant"> - <a name="value" val="0x8"/> <a name="width" val="4"/> + <a name="value" val="0x8"/> </comp> <comp lib="0" loc="(810,920)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="OP_CODE"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(810,940)" name="Constant"> - <a name="value" val="0x9"/> <a name="width" val="4"/> + <a name="value" val="0x9"/> </comp> <comp lib="0" loc="(830,460)" name="Tunnel"> <a name="facing" val="north"/> @@ -785,16 +1054,6 @@ <a name="label" val="EN_BL_RL"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> - <comp lib="0" loc="(910,370)" name="Splitter"> - <a name="bit1" val="0"/> - <a name="bit2" val="0"/> - <a name="bit3" val="0"/> - <a name="bit4" val="1"/> - <a name="bit5" val="1"/> - <a name="bit6" val="1"/> - <a name="bit7" val="1"/> - <a name="incoming" val="8"/> - </comp> <comp lib="0" loc="(920,1480)" name="Tunnel"> <a name="label" val="EN_STORE"/> <a name="labelfont" val="SansSerif bold 8"/> @@ -807,8 +1066,8 @@ <a name="size" val="30"/> </comp> <comp lib="1" loc="(1060,1330)" name="AND Gate"> - <a name="negate0" val="true"/> <a name="size" val="30"/> + <a name="negate0" val="true"/> </comp> <comp lib="1" loc="(1080,1150)" name="AND Gate"> <a name="size" val="30"/> @@ -823,12 +1082,12 @@ <a name="size" val="30"/> </comp> <comp lib="1" loc="(860,1180)" name="AND Gate"> - <a name="size" val="30"/> <a name="width" val="4"/> + <a name="size" val="30"/> </comp> <comp lib="1" loc="(870,1300)" name="AND Gate"> - <a name="inputs" val="3"/> <a name="size" val="30"/> + <a name="inputs" val="3"/> </comp> <comp lib="2" loc="(1220,640)" name="Multiplexer"> <a name="width" val="8"/> @@ -864,96 +1123,94 @@ </comp> <comp lib="3" loc="(600,340)" name="Adder"/> <comp lib="3" loc="(870,1010)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(870,1100)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(870,1400)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(870,1480)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(870,860)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(870,930)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="3" loc="(980,1190)" name="Comparator"> - <a name="mode" val="unsigned"/> <a name="width" val="4"/> + <a name="mode" val="unsigned"/> </comp> <comp lib="4" loc="(1850,670)" name="Register"> - <a name="appearance" val="logisim_evolution"/> <a name="width" val="4"/> </comp> <comp lib="4" loc="(800,340)" name="Register"> - <a name="appearance" val="logisim_evolution"/> <a name="label" val="PC"/> </comp> <comp lib="6" loc="(1481,115)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="ALU"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(1508,824)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="JUMP OF INSTR WHEN JUMPING, JUMP OF 1 ELSEWISE"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(1778,193)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="JUMPING"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(2236,237)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="LD_ST"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(414,438)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="Jump to val if BL"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(808,1373)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="LOAD INSTRUCTION"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(809,1455)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="STORE INSTRUCTION"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(811,1156)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="MASK TO GET THE ONLY BITS YOU WANT"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(837,1069)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="CONDITIONNAL JUMPING WHEN 10 "/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(847,1251)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="BL - BRANCH AND LINK + BR BRANCH REGISTER "/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(852,905)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="ALU + AFFECTATION CONSTANTE"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(857,981)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="INCONDITIONNAL JUMPING"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(860,828)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="AVOID VALID FLAGS AFTER ANYTHING THAT IS NOT ALU CALCULATIONS "/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(863,810)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="ALU INSTRUCTION ONLY, LOWER THAN 8"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp loc="(1400,350)" name="CPU_INSTRUCTION_MEMORY"> <a name="label" val="CIM_1"/> @@ -964,329 +1221,400 @@ <comp loc="(990,610)" name="CPU_REG_BANK"> <a name="label" val="CRB"/> </comp> - <wire from="(1030,1100)" to="(1030,1140)"/> - <wire from="(1030,1140)" to="(1050,1140)"/> - <wire from="(1030,1160)" to="(1030,1190)"/> - <wire from="(1030,1160)" to="(1050,1160)"/> - <wire from="(1030,470)" to="(1030,610)"/> - <wire from="(1030,610)" to="(1210,610)"/> - <wire from="(1050,480)" to="(1050,630)"/> - <wire from="(1050,480)" to="(1150,480)"/> - <wire from="(1050,630)" to="(1130,630)"/> - <wire from="(1060,1290)" to="(1120,1290)"/> - <wire from="(1060,1330)" to="(1120,1330)"/> - <wire from="(1080,1150)" to="(1100,1150)"/> - <wire from="(1090,690)" to="(1110,690)"/> - <wire from="(1090,710)" to="(1110,710)"/> - <wire from="(1090,730)" to="(1110,730)"/> - <wire from="(110,710)" to="(130,710)"/> - <wire from="(1100,670)" to="(1110,670)"/> - <wire from="(1130,570)" to="(1130,630)"/> - <wire from="(1130,630)" to="(1190,630)"/> - <wire from="(1130,650)" to="(1130,660)"/> - <wire from="(1130,650)" to="(1190,650)"/> - <wire from="(1140,720)" to="(1200,720)"/> - <wire from="(1150,470)" to="(1150,480)"/> - <wire from="(1160,350)" to="(1180,350)"/> - <wire from="(1200,660)" to="(1200,720)"/> - <wire from="(1210,540)" to="(1210,610)"/> - <wire from="(1210,610)" to="(1480,610)"/> - <wire from="(1220,640)" to="(1270,640)"/> - <wire from="(1270,630)" to="(1270,640)"/> - <wire from="(1270,630)" to="(1480,630)"/> - <wire from="(1390,320)" to="(1420,320)"/> - <wire from="(1400,350)" to="(1420,350)"/> - <wire from="(1400,670)" to="(1430,670)"/> - <wire from="(1400,920)" to="(1450,920)"/> - <wire from="(1400,940)" to="(1450,940)"/> - <wire from="(1420,320)" to="(1420,350)"/> - <wire from="(1420,350)" to="(1460,350)"/> - <wire from="(1430,1000)" to="(1450,1000)"/> - <wire from="(1450,650)" to="(1480,650)"/> - <wire from="(1460,1020)" to="(1530,1020)"/> - <wire from="(1460,310)" to="(1460,350)"/> - <wire from="(1460,350)" to="(1720,350)"/> - <wire from="(1470,1040)" to="(1500,1040)"/> - <wire from="(1470,1060)" to="(1570,1060)"/> - <wire from="(1480,140)" to="(1490,140)"/> - <wire from="(1480,180)" to="(1490,180)"/> - <wire from="(1480,220)" to="(1490,220)"/> - <wire from="(1480,260)" to="(1490,260)"/> - <wire from="(1480,300)" to="(1500,300)"/> - <wire from="(1480,930)" to="(1520,930)"/> - <wire from="(1490,140)" to="(1490,160)"/> - <wire from="(1490,140)" to="(1510,140)"/> - <wire from="(1490,160)" to="(1510,160)"/> - <wire from="(1490,180)" to="(1490,200)"/> - <wire from="(1490,180)" to="(1510,180)"/> - <wire from="(1490,200)" to="(1510,200)"/> - <wire from="(1490,220)" to="(1490,240)"/> - <wire from="(1490,220)" to="(1510,220)"/> - <wire from="(1490,240)" to="(1510,240)"/> - <wire from="(1490,260)" to="(1490,280)"/> - <wire from="(1490,260)" to="(1510,260)"/> - <wire from="(1490,280)" to="(1510,280)"/> - <wire from="(1490,850)" to="(1510,850)"/> - <wire from="(1490,870)" to="(1510,870)"/> - <wire from="(150,540)" to="(170,540)"/> - <wire from="(150,560)" to="(170,560)"/> - <wire from="(150,690)" to="(220,690)"/> - <wire from="(1500,300)" to="(1500,320)"/> - <wire from="(1500,300)" to="(1510,300)"/> - <wire from="(1500,320)" to="(1510,320)"/> - <wire from="(1520,880)" to="(1520,930)"/> - <wire from="(1540,860)" to="(1570,860)"/> - <wire from="(1700,610)" to="(1760,610)"/> - <wire from="(1700,630)" to="(1720,630)"/> - <wire from="(1700,650)" to="(1720,650)"/> - <wire from="(1700,670)" to="(1720,670)"/> - <wire from="(1700,690)" to="(1720,690)"/> - <wire from="(1720,310)" to="(1720,350)"/> - <wire from="(1720,350)" to="(2000,350)"/> - <wire from="(1740,220)" to="(1750,220)"/> - <wire from="(1740,260)" to="(1750,260)"/> - <wire from="(1740,300)" to="(1760,300)"/> - <wire from="(1740,700)" to="(1850,700)"/> - <wire from="(1750,220)" to="(1750,240)"/> - <wire from="(1750,220)" to="(1770,220)"/> - <wire from="(1750,240)" to="(1770,240)"/> - <wire from="(1750,260)" to="(1750,280)"/> - <wire from="(1750,260)" to="(1770,260)"/> - <wire from="(1750,280)" to="(1770,280)"/> - <wire from="(1760,300)" to="(1760,320)"/> - <wire from="(1760,300)" to="(1770,300)"/> - <wire from="(1760,320)" to="(1770,320)"/> - <wire from="(1760,590)" to="(1760,610)"/> - <wire from="(1760,590)" to="(1800,590)"/> - <wire from="(1760,610)" to="(1800,610)"/> - <wire from="(1820,720)" to="(1850,720)"/> - <wire from="(1820,740)" to="(1850,740)"/> - <wire from="(1880,760)" to="(1880,780)"/> - <wire from="(1910,700)" to="(1930,700)"/> - <wire from="(200,550)" to="(340,550)"/> - <wire from="(2000,310)" to="(2000,350)"/> - <wire from="(2000,350)" to="(2190,350)"/> - <wire from="(2020,300)" to="(2050,300)"/> - <wire from="(210,420)" to="(230,420)"/> - <wire from="(210,440)" to="(230,440)"/> - <wire from="(210,710)" to="(220,710)"/> - <wire from="(2190,310)" to="(2190,350)"/> - <wire from="(2210,260)" to="(2220,260)"/> - <wire from="(2210,300)" to="(2220,300)"/> - <wire from="(2220,260)" to="(2220,280)"/> - <wire from="(2220,260)" to="(2240,260)"/> - <wire from="(2220,280)" to="(2240,280)"/> - <wire from="(2220,300)" to="(2220,320)"/> - <wire from="(2220,300)" to="(2240,300)"/> - <wire from="(2220,320)" to="(2240,320)"/> - <wire from="(230,610)" to="(290,610)"/> - <wire from="(230,650)" to="(300,650)"/> - <wire from="(230,720)" to="(230,730)"/> - <wire from="(240,450)" to="(240,460)"/> - <wire from="(250,700)" to="(270,700)"/> - <wire from="(260,430)" to="(270,430)"/> - <wire from="(270,430)" to="(270,510)"/> - <wire from="(270,510)" to="(330,510)"/> - <wire from="(270,670)" to="(270,700)"/> - <wire from="(270,670)" to="(300,670)"/> - <wire from="(310,530)" to="(330,530)"/> - <wire from="(310,630)" to="(310,640)"/> - <wire from="(330,660)" to="(430,660)"/> - <wire from="(340,540)" to="(340,550)"/> - <wire from="(360,520)" to="(730,520)"/> - <wire from="(370,170)" to="(520,170)"/> - <wire from="(370,190)" to="(510,190)"/> - <wire from="(410,680)" to="(430,680)"/> - <wire from="(440,1120)" to="(460,1120)"/> - <wire from="(440,1140)" to="(460,1140)"/> - <wire from="(440,1160)" to="(460,1160)"/> - <wire from="(440,1180)" to="(460,1180)"/> - <wire from="(440,210)" to="(510,210)"/> - <wire from="(440,690)" to="(440,700)"/> - <wire from="(450,330)" to="(560,330)"/> - <wire from="(450,390)" to="(470,390)"/> - <wire from="(450,410)" to="(470,410)"/> - <wire from="(460,670)" to="(770,670)"/> - <wire from="(480,420)" to="(480,440)"/> - <wire from="(500,400)" to="(670,400)"/> - <wire from="(530,350)" to="(530,490)"/> - <wire from="(530,350)" to="(560,350)"/> - <wire from="(530,490)" to="(890,490)"/> - <wire from="(560,600)" to="(580,600)"/> - <wire from="(560,620)" to="(570,620)"/> - <wire from="(560,640)" to="(570,640)"/> - <wire from="(580,600)" to="(580,610)"/> - <wire from="(600,340)" to="(670,340)"/> - <wire from="(600,630)" to="(770,630)"/> - <wire from="(670,340)" to="(670,360)"/> - <wire from="(670,340)" to="(700,340)"/> - <wire from="(670,360)" to="(680,360)"/> - <wire from="(670,380)" to="(670,400)"/> - <wire from="(670,380)" to="(680,380)"/> - <wire from="(690,390)" to="(690,410)"/> - <wire from="(710,370)" to="(800,370)"/> - <wire from="(730,520)" to="(730,610)"/> - <wire from="(730,610)" to="(770,610)"/> - <wire from="(740,1270)" to="(780,1270)"/> - <wire from="(740,650)" to="(770,650)"/> - <wire from="(740,690)" to="(770,690)"/> - <wire from="(740,710)" to="(770,710)"/> - <wire from="(740,730)" to="(770,730)"/> - <wire from="(790,1170)" to="(830,1170)"/> - <wire from="(790,1190)" to="(810,1190)"/> - <wire from="(790,390)" to="(800,390)"/> - <wire from="(790,410)" to="(800,410)"/> - <wire from="(800,1280)" to="(970,1280)"/> - <wire from="(800,1290)" to="(840,1290)"/> - <wire from="(800,1300)" to="(840,1300)"/> - <wire from="(800,1310)" to="(840,1310)"/> - <wire from="(810,1000)" to="(830,1000)"/> - <wire from="(810,1020)" to="(830,1020)"/> - <wire from="(810,1090)" to="(830,1090)"/> - <wire from="(810,1110)" to="(830,1110)"/> - <wire from="(810,1190)" to="(810,1200)"/> - <wire from="(810,1190)" to="(830,1190)"/> - <wire from="(810,1200)" to="(940,1200)"/> - <wire from="(810,1390)" to="(830,1390)"/> - <wire from="(810,1410)" to="(830,1410)"/> - <wire from="(810,1470)" to="(830,1470)"/> - <wire from="(810,1490)" to="(830,1490)"/> - <wire from="(810,850)" to="(830,850)"/> - <wire from="(810,870)" to="(830,870)"/> - <wire from="(810,920)" to="(830,920)"/> - <wire from="(810,940)" to="(830,940)"/> - <wire from="(830,430)" to="(830,460)"/> - <wire from="(860,1180)" to="(940,1180)"/> - <wire from="(860,370)" to="(890,370)"/> - <wire from="(870,1010)" to="(900,1010)"/> - <wire from="(870,1100)" to="(1030,1100)"/> - <wire from="(870,1300)" to="(910,1300)"/> - <wire from="(870,1400)" to="(930,1400)"/> - <wire from="(870,1480)" to="(920,1480)"/> - <wire from="(870,870)" to="(900,870)"/> - <wire from="(870,940)" to="(900,940)"/> - <wire from="(890,370)" to="(890,490)"/> - <wire from="(890,370)" to="(910,370)"/> - <wire from="(910,1300)" to="(910,1330)"/> - <wire from="(910,1300)" to="(960,1300)"/> - <wire from="(930,350)" to="(1000,350)"/> - <wire from="(960,1300)" to="(1030,1300)"/> - <wire from="(960,1300)" to="(960,1340)"/> - <wire from="(960,1340)" to="(1030,1340)"/> - <wire from="(970,1280)" to="(1030,1280)"/> - <wire from="(970,1280)" to="(970,1320)"/> - <wire from="(970,1320)" to="(1020,1320)"/> - <wire from="(980,1190)" to="(1030,1190)"/> - <wire from="(990,610)" to="(1030,610)"/> - <wire from="(990,630)" to="(1050,630)"/> + <comp lib="0" loc="(920,370)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> + <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="none"/> + </comp> + <comp lib="0" loc="(960,360)" name="Tunnel"> + <a name="width" val="7"/> + <a name="label" val="PC"/> + </comp> </circuit> <circuit name="CPU_INSTRUCTION_MEMORY"> - <a name="appearance" val="custom"/> <a name="circuit" val="CPU_INSTRUCTION_MEMORY"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="custom"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> - <comp lib="0" loc="(350,210)" name="Constant"> - <a name="value" val="0x8803"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(990,790)" to="(1090,790)"/> + <wire from="(440,430)" to="(550,430)"/> + <wire from="(440,270)" to="(550,270)"/> + <wire from="(440,190)" to="(550,190)"/> + <wire from="(440,350)" to="(550,350)"/> + <wire from="(440,470)" to="(550,470)"/> + <wire from="(440,230)" to="(550,230)"/> + <wire from="(440,390)" to="(550,390)"/> + <wire from="(440,310)" to="(550,310)"/> + <wire from="(440,750)" to="(550,750)"/> + <wire from="(440,830)" to="(550,830)"/> + <wire from="(440,670)" to="(550,670)"/> + <wire from="(440,590)" to="(550,590)"/> + <wire from="(880,730)" to="(920,730)"/> + <wire from="(440,870)" to="(550,870)"/> + <wire from="(440,630)" to="(550,630)"/> + <wire from="(440,710)" to="(550,710)"/> + <wire from="(440,790)" to="(550,790)"/> + <wire from="(570,530)" to="(860,530)"/> + <wire from="(1040,800)" to="(1090,800)"/> + <wire from="(570,530)" to="(570,570)"/> + <wire from="(770,320)" to="(840,320)"/> + <wire from="(770,240)" to="(840,240)"/> + <wire from="(770,480)" to="(840,480)"/> + <wire from="(770,400)" to="(840,400)"/> + <wire from="(770,360)" to="(840,360)"/> + <wire from="(770,280)" to="(840,280)"/> + <wire from="(770,600)" to="(840,600)"/> + <wire from="(770,200)" to="(840,200)"/> + <wire from="(770,440)" to="(840,440)"/> + <wire from="(360,560)" to="(370,560)"/> + <wire from="(770,720)" to="(840,720)"/> + <wire from="(770,640)" to="(840,640)"/> + <wire from="(770,800)" to="(840,800)"/> + <wire from="(770,880)" to="(840,880)"/> + <wire from="(770,760)" to="(840,760)"/> + <wire from="(770,680)" to="(840,680)"/> + <wire from="(770,840)" to="(840,840)"/> + <wire from="(1180,700)" to="(1180,790)"/> + <wire from="(590,730)" to="(630,730)"/> + <wire from="(730,450)" to="(840,450)"/> + <wire from="(730,290)" to="(840,290)"/> + <wire from="(730,210)" to="(840,210)"/> + <wire from="(730,250)" to="(840,250)"/> + <wire from="(730,770)" to="(840,770)"/> + <wire from="(730,810)" to="(840,810)"/> + <wire from="(730,730)" to="(840,730)"/> + <wire from="(730,690)" to="(840,690)"/> + <wire from="(730,850)" to="(840,850)"/> + <wire from="(860,510)" to="(860,530)"/> + <wire from="(730,370)" to="(840,370)"/> + <wire from="(730,330)" to="(840,330)"/> + <wire from="(730,410)" to="(840,410)"/> + <wire from="(730,610)" to="(840,610)"/> + <wire from="(730,490)" to="(840,490)"/> + <wire from="(730,570)" to="(840,570)"/> + <wire from="(730,650)" to="(840,650)"/> + <wire from="(1100,870)" to="(1110,870)"/> + <wire from="(480,640)" to="(550,640)"/> + <wire from="(480,720)" to="(550,720)"/> + <wire from="(480,680)" to="(550,680)"/> + <wire from="(480,760)" to="(550,760)"/> + <wire from="(480,400)" to="(550,400)"/> + <wire from="(480,440)" to="(550,440)"/> + <wire from="(480,360)" to="(550,360)"/> + <wire from="(480,240)" to="(550,240)"/> + <wire from="(480,280)" to="(550,280)"/> + <wire from="(480,200)" to="(550,200)"/> + <wire from="(480,320)" to="(550,320)"/> + <wire from="(480,800)" to="(550,800)"/> + <wire from="(480,880)" to="(550,880)"/> + <wire from="(480,840)" to="(550,840)"/> + <wire from="(480,480)" to="(550,480)"/> + <wire from="(480,600)" to="(550,600)"/> + <wire from="(360,540)" to="(360,560)"/> + <wire from="(990,770)" to="(1090,770)"/> + <wire from="(440,370)" to="(550,370)"/> + <wire from="(440,450)" to="(550,450)"/> + <wire from="(440,290)" to="(550,290)"/> + <wire from="(440,210)" to="(550,210)"/> + <wire from="(440,330)" to="(550,330)"/> + <wire from="(440,250)" to="(550,250)"/> + <wire from="(440,570)" to="(550,570)"/> + <wire from="(440,490)" to="(550,490)"/> + <wire from="(440,410)" to="(550,410)"/> + <wire from="(440,850)" to="(550,850)"/> + <wire from="(440,690)" to="(550,690)"/> + <wire from="(440,610)" to="(550,610)"/> + <wire from="(880,350)" to="(920,350)"/> + <wire from="(440,770)" to="(550,770)"/> + <wire from="(440,650)" to="(550,650)"/> + <wire from="(440,730)" to="(550,730)"/> + <wire from="(440,810)" to="(550,810)"/> + <wire from="(570,510)" to="(570,530)"/> + <wire from="(1040,780)" to="(1090,780)"/> + <wire from="(1130,790)" to="(1180,790)"/> + <wire from="(360,530)" to="(570,530)"/> + <wire from="(1110,810)" to="(1110,870)"/> + <wire from="(770,420)" to="(840,420)"/> + <wire from="(770,340)" to="(840,340)"/> + <wire from="(770,580)" to="(840,580)"/> + <wire from="(770,620)" to="(840,620)"/> + <wire from="(770,500)" to="(840,500)"/> + <wire from="(770,260)" to="(840,260)"/> + <wire from="(770,300)" to="(840,300)"/> + <wire from="(770,380)" to="(840,380)"/> + <wire from="(770,460)" to="(840,460)"/> + <wire from="(770,220)" to="(840,220)"/> + <wire from="(770,660)" to="(840,660)"/> + <wire from="(770,740)" to="(840,740)"/> + <wire from="(770,820)" to="(840,820)"/> + <wire from="(770,700)" to="(840,700)"/> + <wire from="(770,860)" to="(840,860)"/> + <wire from="(770,780)" to="(840,780)"/> + <wire from="(590,350)" to="(630,350)"/> + <wire from="(730,470)" to="(840,470)"/> + <wire from="(730,630)" to="(840,630)"/> + <wire from="(730,670)" to="(840,670)"/> + <wire from="(730,310)" to="(840,310)"/> + <wire from="(730,230)" to="(840,230)"/> + <wire from="(730,270)" to="(840,270)"/> + <wire from="(730,190)" to="(840,190)"/> + <wire from="(730,790)" to="(840,790)"/> + <wire from="(730,750)" to="(840,750)"/> + <wire from="(730,710)" to="(840,710)"/> + <wire from="(730,870)" to="(840,870)"/> + <wire from="(730,830)" to="(840,830)"/> + <wire from="(730,390)" to="(840,390)"/> + <wire from="(730,430)" to="(840,430)"/> + <wire from="(730,350)" to="(840,350)"/> + <wire from="(730,590)" to="(840,590)"/> + <wire from="(860,530)" to="(860,570)"/> + <wire from="(320,540)" to="(340,540)"/> + <wire from="(1180,790)" to="(1210,790)"/> + <wire from="(480,580)" to="(550,580)"/> + <wire from="(480,500)" to="(550,500)"/> + <wire from="(480,460)" to="(550,460)"/> + <wire from="(480,660)" to="(550,660)"/> + <wire from="(480,620)" to="(550,620)"/> + <wire from="(1160,700)" to="(1180,700)"/> + <wire from="(480,860)" to="(550,860)"/> + <wire from="(480,340)" to="(550,340)"/> + <wire from="(480,380)" to="(550,380)"/> + <wire from="(480,420)" to="(550,420)"/> + <wire from="(480,260)" to="(550,260)"/> + <wire from="(480,220)" to="(550,220)"/> + <wire from="(480,300)" to="(550,300)"/> + <wire from="(480,820)" to="(550,820)"/> + <wire from="(480,740)" to="(550,740)"/> + <wire from="(480,780)" to="(550,780)"/> + <wire from="(480,700)" to="(550,700)"/> + <comp lib="2" loc="(880,730)" name="Multiplexer"> + <a name="selloc" val="tr"/> + <a name="select" val="5"/> + <a name="width" val="16"/> + </comp> + <comp lib="0" loc="(480,380)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8a64"/> + </comp> + <comp lib="2" loc="(1130,790)" name="Multiplexer"> + <a name="select" val="2"/> + <a name="width" val="16"/> + </comp> + <comp lib="0" loc="(480,320)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8464"/> + </comp> + <comp lib="0" loc="(440,390)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xfe00"/> + </comp> + <comp lib="2" loc="(880,350)" name="Multiplexer"> + <a name="select" val="5"/> + <a name="width" val="16"/> + </comp> + <comp lib="0" loc="(480,280)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8464"/> + </comp> + <comp lib="0" loc="(480,420)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xfe00"/> + </comp> + <comp lib="0" loc="(630,350)" name="Tunnel"> + <a name="width" val="16"/> + <a name="label" val="mux0"/> + </comp> + <comp lib="0" loc="(480,440)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8ace"/> + </comp> + <comp lib="0" loc="(480,240)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xee12"/> + </comp> + <comp lib="0" loc="(480,460)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x88ce"/> + </comp> + <comp lib="0" loc="(480,200)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xc200"/> + </comp> + <comp lib="0" loc="(480,300)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xa802"/> + </comp> + <comp lib="2" loc="(590,730)" name="Multiplexer"> + <a name="selloc" val="tr"/> + <a name="select" val="5"/> + <a name="width" val="16"/> + </comp> + <comp lib="0" loc="(440,290)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x1650"/> + </comp> + <comp lib="0" loc="(340,540)" name="Splitter"> + <a name="incoming" val="7"/> + <a name="appear" val="center"/> + <a name="bit1" val="0"/> + <a name="bit2" val="0"/> + <a name="bit3" val="0"/> + <a name="bit4" val="0"/> + <a name="bit5" val="1"/> + <a name="bit6" val="1"/> + </comp> + <comp lib="0" loc="(1100,870)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="2"/> + <a name="label" val="sel"/> + </comp> + <comp lib="0" loc="(440,350)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xee18"/> </comp> - <comp lib="0" loc="(350,230)" name="Constant"> - <a name="value" val="0x8c01"/> + <comp lib="0" loc="(440,210)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x8477"/> </comp> - <comp lib="0" loc="(350,250)" name="Constant"> - <a name="value" val="0x5320"/> + <comp lib="0" loc="(1210,790)" name="Pin"> + <a name="facing" val="west"/> + <a name="output" val="true"/> <a name="width" val="16"/> + <a name="label" val="INSTRUCTION"/> </comp> - <comp lib="0" loc="(350,270)" name="Constant"> - <a name="value" val="0x5368"/> + <comp lib="0" loc="(480,220)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x1650"/> </comp> - <comp lib="0" loc="(350,290)" name="Constant"> - <a name="value" val="0x53b0"/> + <comp lib="0" loc="(440,230)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xa802"/> </comp> - <comp lib="0" loc="(350,320)" name="Constant"> - <a name="value" val="0x1440"/> + <comp lib="0" loc="(440,370)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x8864"/> + </comp> + <comp lib="0" loc="(370,560)" name="Tunnel"> + <a name="width" val="2"/> + <a name="label" val="sel"/> </comp> - <comp lib="0" loc="(350,340)" name="Constant"> - <a name="value" val="0x5048"/> + <comp lib="0" loc="(440,270)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xee18"/> </comp> - <comp lib="0" loc="(490,170)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD_INSTRUCTION"/> - <a name="width" val="4"/> + <comp lib="0" loc="(630,730)" name="Tunnel"> + <a name="width" val="16"/> + <a name="label" val="mux1"/> </comp> - <comp lib="0" loc="(490,200)" name="Constant"> - <a name="value" val="0x8602"/> + <comp lib="0" loc="(1040,780)" name="Tunnel"> + <a name="facing" val="east"/> <a name="width" val="16"/> + <a name="label" val="mux1"/> </comp> - <comp lib="0" loc="(490,220)" name="Constant"> - <a name="value" val="0x8a04"/> + <comp lib="0" loc="(440,330)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x1650"/> </comp> - <comp lib="0" loc="(490,240)" name="Constant"> - <a name="value" val="0x50d8"/> + <comp lib="0" loc="(480,400)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x889c"/> </comp> - <comp lib="0" loc="(490,260)" name="Constant"> - <a name="value" val="0xee0c"/> + <comp lib="0" loc="(480,260)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xa802"/> </comp> - <comp lib="0" loc="(490,280)" name="Constant"> - <a name="value" val="0xee0c"/> + <comp lib="0" loc="(920,730)" name="Tunnel"> <a name="width" val="16"/> + <a name="label" val="mux3"/> </comp> - <comp lib="0" loc="(490,300)" name="Constant"> - <a name="value" val="0xee0c"/> + <comp lib="0" loc="(990,790)" name="Tunnel"> + <a name="facing" val="east"/> <a name="width" val="16"/> + <a name="label" val="mux2"/> </comp> - <comp lib="0" loc="(490,330)" name="Constant"> - <a name="value" val="0xa402"/> + <comp lib="0" loc="(480,360)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xbfef"/> </comp> - <comp lib="0" loc="(490,350)" name="Constant"> - <a name="value" val="0xfe00"/> + <comp lib="0" loc="(440,310)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0xee15"/> </comp> - <comp lib="0" loc="(660,280)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="facing" val="west"/> - <a name="label" val="INSTRUCTION"/> - <a name="output" val="true"/> + <comp lib="0" loc="(1160,700)" name="Probe"> <a name="radix" val="16"/> + </comp> + <comp lib="0" loc="(440,470)" name="Constant"> <a name="width" val="16"/> + <a name="value" val="0x8a32"/> </comp> - <comp lib="2" loc="(570,280)" name="Multiplexer"> - <a name="select" val="4"/> - <a name="selloc" val="tr"/> + <comp lib="2" loc="(590,350)" name="Multiplexer"> + <a name="select" val="5"/> + <a name="width" val="16"/> + </comp> + <comp lib="0" loc="(990,770)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="16"/> + <a name="label" val="mux0"/> + </comp> + <comp lib="0" loc="(480,480)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xfe00"/> + </comp> + <comp lib="0" loc="(480,340)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xa802"/> + </comp> + <comp lib="0" loc="(320,540)" name="Pin"> + <a name="width" val="7"/> + <a name="label" val="ADDR_INSTR"/> + </comp> + <comp lib="0" loc="(440,450)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0xfe00"/> + </comp> + <comp lib="0" loc="(440,250)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x1650"/> + </comp> + <comp lib="0" loc="(440,430)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8832"/> + </comp> + <comp lib="0" loc="(920,350)" name="Tunnel"> + <a name="width" val="16"/> + <a name="label" val="mux2"/> + </comp> + <comp lib="0" loc="(440,190)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8010"/> + </comp> + <comp lib="0" loc="(440,410)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0x8a9c"/> + </comp> + <comp lib="0" loc="(1040,800)" name="Tunnel"> + <a name="facing" val="east"/> <a name="width" val="16"/> + <a name="label" val="mux3"/> </comp> - <wire from="(350,210)" to="(530,210)"/> - <wire from="(350,230)" to="(530,230)"/> - <wire from="(350,250)" to="(530,250)"/> - <wire from="(350,270)" to="(530,270)"/> - <wire from="(350,290)" to="(530,290)"/> - <wire from="(350,320)" to="(530,320)"/> - <wire from="(350,340)" to="(530,340)"/> - <wire from="(490,170)" to="(550,170)"/> - <wire from="(490,200)" to="(530,200)"/> - <wire from="(490,220)" to="(530,220)"/> - <wire from="(490,240)" to="(530,240)"/> - <wire from="(490,260)" to="(530,260)"/> - <wire from="(490,280)" to="(530,280)"/> - <wire from="(490,300)" to="(530,300)"/> - <wire from="(490,330)" to="(530,330)"/> - <wire from="(490,350)" to="(530,350)"/> - <wire from="(550,170)" to="(550,200)"/> - <wire from="(570,280)" to="(660,280)"/> </circuit> <circuit name="CPU_REG_BANK"> - <a name="appearance" val="custom"/> <a name="circuit" val="CPU_REG_BANK"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="custom"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> <appear> <rect height="4" stroke="none" width="10" x="50" y="58"/> <text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="64">ADD_A</text> @@ -1309,6 +1637,15 @@ <rect height="20" stroke="none" width="200" x="60" y="190"/> <rect fill="none" height="160" stroke="#000000" stroke-width="2" width="200" x="60" y="50"/> <text dominant-baseline="alphabetic" fill="#ffffff" font-family="Dialog" font-size="14" font-weight="bold" text-anchor="middle" x="160" y="204">CPU_REG_BANK</text> + <circ-port height="10" pin="1270,400" width="10" x="265" y="55"/> + <circ-port height="8" pin="130,170" width="8" x="46" y="136"/> + <circ-port height="8" pin="130,230" width="8" x="46" y="176"/> + <circ-port height="8" pin="150,70" width="8" x="46" y="56"/> + <circ-port height="8" pin="200,150" width="8" x="46" y="116"/> + <circ-port height="8" pin="150,90" width="8" x="46" y="76"/> + <circ-port height="8" pin="150,130" width="8" x="46" y="96"/> + <circ-port height="8" pin="130,210" width="8" x="46" y="156"/> + <circ-port height="10" pin="1270,670" width="10" x="265" y="75"/> <visible-register height="10" path="/Register(690,50)" stroke-width="0" width="13" x="147" y="68"/> <visible-register height="10" path="/Register(690,180)" stroke-width="0" width="13" x="147" y="78"/> <visible-register height="10" path="/Register(690,310)" stroke-width="0" width="13" x="147" y="88"/> @@ -1318,83 +1655,186 @@ <visible-register height="10" path="/Register(690,830)" stroke-width="0" width="13" x="147" y="128"/> <visible-register height="10" path="/Register(690,960)" stroke-width="0" width="13" x="147" y="138"/> <circ-anchor facing="east" height="6" width="6" x="267" y="57"/> - <circ-port height="10" pin="1270,400" width="10" x="265" y="55"/> - <circ-port height="10" pin="1270,670" width="10" x="265" y="75"/> - <circ-port height="8" pin="130,170" width="8" x="46" y="136"/> - <circ-port height="8" pin="130,210" width="8" x="46" y="156"/> - <circ-port height="8" pin="130,230" width="8" x="46" y="176"/> - <circ-port height="8" pin="150,130" width="8" x="46" y="96"/> - <circ-port height="8" pin="150,70" width="8" x="46" y="56"/> - <circ-port height="8" pin="150,90" width="8" x="46" y="76"/> - <circ-port height="8" pin="200,150" width="8" x="46" y="116"/> </appear> + <wire from="(720,400)" to="(720,410)"/> + <wire from="(720,920)" to="(720,930)"/> + <wire from="(670,150)" to="(720,150)"/> + <wire from="(670,670)" to="(720,670)"/> + <wire from="(1240,470)" to="(1240,560)"/> + <wire from="(1250,570)" to="(1250,600)"/> + <wire from="(130,170)" to="(230,170)"/> + <wire from="(130,210)" to="(230,210)"/> + <wire from="(1230,550)" to="(1230,600)"/> + <wire from="(540,580)" to="(540,880)"/> + <wire from="(670,340)" to="(690,340)"/> + <wire from="(670,380)" to="(690,380)"/> + <wire from="(670,860)" to="(690,860)"/> + <wire from="(670,900)" to="(690,900)"/> + <wire from="(1040,560)" to="(1240,560)"/> + <wire from="(1050,570)" to="(1250,570)"/> + <wire from="(520,540)" to="(550,540)"/> + <wire from="(530,590)" to="(530,1010)"/> + <wire from="(1220,540)" to="(1220,600)"/> + <wire from="(490,610)" to="(500,610)"/> + <wire from="(150,130)" to="(230,130)"/> + <wire from="(150,90)" to="(230,90)"/> + <wire from="(1020,540)" to="(1020,600)"/> + <wire from="(1150,450)" to="(1180,450)"/> + <wire from="(560,560)" to="(560,620)"/> + <wire from="(560,620)" to="(690,620)"/> + <wire from="(1020,540)" to="(1220,540)"/> + <wire from="(1030,550)" to="(1230,550)"/> + <wire from="(1190,470)" to="(1190,510)"/> + <wire from="(1240,560)" to="(1240,600)"/> + <wire from="(1040,560)" to="(1040,860)"/> + <wire from="(550,360)" to="(690,360)"/> + <wire from="(550,570)" to="(550,750)"/> + <wire from="(520,520)" to="(530,520)"/> + <wire from="(720,1050)" to="(720,1060)"/> + <wire from="(720,530)" to="(720,540)"/> + <wire from="(1200,520)" to="(1200,600)"/> + <wire from="(1230,470)" to="(1230,550)"/> + <wire from="(670,280)" to="(720,280)"/> + <wire from="(670,800)" to="(720,800)"/> + <wire from="(1190,510)" to="(1190,600)"/> + <wire from="(1180,470)" to="(1180,500)"/> + <wire from="(1210,530)" to="(1210,600)"/> + <wire from="(1220,670)" to="(1270,670)"/> + <wire from="(750,990)" to="(1050,990)"/> + <wire from="(200,150)" to="(230,150)"/> + <wire from="(540,230)" to="(690,230)"/> + <wire from="(1040,210)" to="(1040,510)"/> + <wire from="(750,730)" to="(1030,730)"/> + <wire from="(540,230)" to="(540,530)"/> + <wire from="(670,1030)" to="(690,1030)"/> + <wire from="(670,470)" to="(690,470)"/> + <wire from="(670,510)" to="(690,510)"/> + <wire from="(670,990)" to="(690,990)"/> + <wire from="(530,1010)" to="(690,1010)"/> + <wire from="(1050,80)" to="(1050,500)"/> + <wire from="(1020,470)" to="(1020,530)"/> + <wire from="(1150,620)" to="(1180,620)"/> + <wire from="(560,490)" to="(560,550)"/> + <wire from="(1180,500)" to="(1180,600)"/> + <wire from="(1030,340)" to="(1030,520)"/> + <wire from="(720,140)" to="(720,150)"/> + <wire from="(720,660)" to="(720,670)"/> + <wire from="(670,410)" to="(720,410)"/> + <wire from="(670,930)" to="(720,930)"/> + <wire from="(1220,400)" to="(1220,430)"/> + <wire from="(1220,640)" to="(1220,670)"/> + <wire from="(500,600)" to="(500,610)"/> + <wire from="(520,550)" to="(560,550)"/> + <wire from="(1220,470)" to="(1220,540)"/> + <wire from="(750,210)" to="(1040,210)"/> + <wire from="(1220,400)" to="(1270,400)"/> + <wire from="(130,230)" to="(230,230)"/> + <wire from="(750,80)" to="(1050,80)"/> + <wire from="(540,880)" to="(690,880)"/> + <wire from="(750,340)" to="(1030,340)"/> + <wire from="(520,530)" to="(540,530)"/> + <wire from="(670,120)" to="(690,120)"/> + <wire from="(670,600)" to="(690,600)"/> + <wire from="(670,640)" to="(690,640)"/> + <wire from="(670,80)" to="(690,80)"/> + <wire from="(530,100)" to="(690,100)"/> + <wire from="(1210,470)" to="(1210,530)"/> + <wire from="(150,70)" to="(230,70)"/> + <wire from="(1050,570)" to="(1050,990)"/> + <wire from="(750,470)" to="(1020,470)"/> + <wire from="(1030,550)" to="(1030,730)"/> + <wire from="(720,270)" to="(720,280)"/> + <wire from="(720,790)" to="(720,800)"/> + <wire from="(670,1060)" to="(720,1060)"/> + <wire from="(670,540)" to="(720,540)"/> + <wire from="(1020,530)" to="(1210,530)"/> + <wire from="(520,560)" to="(560,560)"/> + <wire from="(750,860)" to="(1040,860)"/> + <wire from="(1030,520)" to="(1200,520)"/> + <wire from="(1200,470)" to="(1200,520)"/> + <wire from="(520,580)" to="(540,580)"/> + <wire from="(670,210)" to="(690,210)"/> + <wire from="(670,250)" to="(690,250)"/> + <wire from="(670,730)" to="(690,730)"/> + <wire from="(670,770)" to="(690,770)"/> + <wire from="(520,570)" to="(550,570)"/> + <wire from="(460,560)" to="(480,560)"/> + <wire from="(530,100)" to="(530,520)"/> + <wire from="(1050,500)" to="(1180,500)"/> + <wire from="(560,490)" to="(690,490)"/> + <wire from="(1250,470)" to="(1250,570)"/> + <wire from="(750,600)" to="(1020,600)"/> + <wire from="(1040,510)" to="(1190,510)"/> + <wire from="(550,360)" to="(550,540)"/> + <wire from="(550,750)" to="(690,750)"/> + <wire from="(520,590)" to="(530,590)"/> <comp lib="0" loc="(1150,450)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1150,620)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD_B"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1270,400)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="OUT_A"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="OUT_A"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1270,670)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="OUT_B"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="OUT_B"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(130,170)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="EN_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(130,210)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(130,230)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(150,130)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD_WR"/> <a name="width" val="3"/> + <a name="label" val="ADD_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(150,70)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD_A"/> <a name="width" val="3"/> + <a name="label" val="ADD_A"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(150,90)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD_B"/> <a name="width" val="3"/> + <a name="label" val="ADD_B"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(200,150)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="DATA_WR"/> <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(230,130)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(230,150)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(230,170)" name="Tunnel"> <a name="label" val="EN_WR"/> @@ -1409,14 +1849,14 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(230,70)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(230,90)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD_B"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(460,560)" name="Tunnel"> <a name="facing" val="east"/> @@ -1425,9 +1865,9 @@ </comp> <comp lib="0" loc="(490,610)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(670,1030)" name="Tunnel"> <a name="facing" val="east"/> @@ -1451,9 +1891,9 @@ </comp> <comp lib="0" loc="(670,210)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,250)" name="Tunnel"> <a name="facing" val="east"/> @@ -1467,9 +1907,9 @@ </comp> <comp lib="0" loc="(670,340)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,380)" name="Tunnel"> <a name="facing" val="east"/> @@ -1483,9 +1923,9 @@ </comp> <comp lib="0" loc="(670,470)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,510)" name="Tunnel"> <a name="facing" val="east"/> @@ -1499,9 +1939,9 @@ </comp> <comp lib="0" loc="(670,600)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,640)" name="Tunnel"> <a name="facing" val="east"/> @@ -1515,9 +1955,9 @@ </comp> <comp lib="0" loc="(670,730)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,770)" name="Tunnel"> <a name="facing" val="east"/> @@ -1526,9 +1966,9 @@ </comp> <comp lib="0" loc="(670,80)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,800)" name="Tunnel"> <a name="facing" val="east"/> @@ -1537,9 +1977,9 @@ </comp> <comp lib="0" loc="(670,860)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,900)" name="Tunnel"> <a name="facing" val="east"/> @@ -1553,9 +1993,9 @@ </comp> <comp lib="0" loc="(670,990)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="2" loc="(1220,430)" name="Multiplexer"> <a name="facing" val="north"/> @@ -1563,178 +2003,100 @@ <a name="width" val="8"/> </comp> <comp lib="2" loc="(1220,640)" name="Multiplexer"> - <a name="facing" val="south"/> - <a name="select" val="3"/> - <a name="width" val="8"/> - </comp> - <comp lib="2" loc="(480,560)" name="Demultiplexer"> - <a name="select" val="3"/> - </comp> - <comp lib="4" loc="(690,180)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,310)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,440)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,50)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,570)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,700)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,830)" name="Register"> - <a name="appearance" val="logisim_evolution"/> + <a name="facing" val="south"/> + <a name="select" val="3"/> + <a name="width" val="8"/> </comp> - <comp lib="4" loc="(690,960)" name="Register"> - <a name="appearance" val="logisim_evolution"/> + <comp lib="2" loc="(480,560)" name="Demultiplexer"> + <a name="select" val="3"/> </comp> + <comp lib="4" loc="(690,180)" name="Register"/> + <comp lib="4" loc="(690,310)" name="Register"/> + <comp lib="4" loc="(690,440)" name="Register"/> + <comp lib="4" loc="(690,50)" name="Register"/> + <comp lib="4" loc="(690,570)" name="Register"/> + <comp lib="4" loc="(690,700)" name="Register"/> + <comp lib="4" loc="(690,830)" name="Register"/> + <comp lib="4" loc="(690,960)" name="Register"/> <comp lib="6" loc="(1291,630)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="READ B"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(1292,456)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="READ A"/> + <a name="font" val="SansSerif plain 12"/> </comp> - <wire from="(1020,470)" to="(1020,530)"/> - <wire from="(1020,530)" to="(1210,530)"/> - <wire from="(1020,540)" to="(1020,600)"/> - <wire from="(1020,540)" to="(1220,540)"/> - <wire from="(1030,340)" to="(1030,520)"/> - <wire from="(1030,520)" to="(1200,520)"/> - <wire from="(1030,550)" to="(1030,730)"/> - <wire from="(1030,550)" to="(1230,550)"/> - <wire from="(1040,210)" to="(1040,510)"/> - <wire from="(1040,510)" to="(1190,510)"/> - <wire from="(1040,560)" to="(1040,860)"/> - <wire from="(1040,560)" to="(1240,560)"/> - <wire from="(1050,500)" to="(1180,500)"/> - <wire from="(1050,570)" to="(1050,990)"/> - <wire from="(1050,570)" to="(1250,570)"/> - <wire from="(1050,80)" to="(1050,500)"/> - <wire from="(1150,450)" to="(1180,450)"/> - <wire from="(1150,620)" to="(1180,620)"/> - <wire from="(1180,470)" to="(1180,500)"/> - <wire from="(1180,500)" to="(1180,600)"/> - <wire from="(1190,470)" to="(1190,510)"/> - <wire from="(1190,510)" to="(1190,600)"/> - <wire from="(1200,470)" to="(1200,520)"/> - <wire from="(1200,520)" to="(1200,600)"/> - <wire from="(1210,470)" to="(1210,530)"/> - <wire from="(1210,530)" to="(1210,600)"/> - <wire from="(1220,400)" to="(1220,430)"/> - <wire from="(1220,400)" to="(1270,400)"/> - <wire from="(1220,470)" to="(1220,540)"/> - <wire from="(1220,540)" to="(1220,600)"/> - <wire from="(1220,640)" to="(1220,670)"/> - <wire from="(1220,670)" to="(1270,670)"/> - <wire from="(1230,470)" to="(1230,550)"/> - <wire from="(1230,550)" to="(1230,600)"/> - <wire from="(1240,470)" to="(1240,560)"/> - <wire from="(1240,560)" to="(1240,600)"/> - <wire from="(1250,470)" to="(1250,570)"/> - <wire from="(1250,570)" to="(1250,600)"/> - <wire from="(130,170)" to="(230,170)"/> - <wire from="(130,210)" to="(230,210)"/> - <wire from="(130,230)" to="(230,230)"/> - <wire from="(150,130)" to="(230,130)"/> - <wire from="(150,70)" to="(230,70)"/> - <wire from="(150,90)" to="(230,90)"/> - <wire from="(200,150)" to="(230,150)"/> - <wire from="(460,560)" to="(480,560)"/> - <wire from="(490,610)" to="(500,610)"/> - <wire from="(500,600)" to="(500,610)"/> - <wire from="(520,520)" to="(530,520)"/> - <wire from="(520,530)" to="(540,530)"/> - <wire from="(520,540)" to="(550,540)"/> - <wire from="(520,550)" to="(560,550)"/> - <wire from="(520,560)" to="(560,560)"/> - <wire from="(520,570)" to="(550,570)"/> - <wire from="(520,580)" to="(540,580)"/> - <wire from="(520,590)" to="(530,590)"/> - <wire from="(530,100)" to="(530,520)"/> - <wire from="(530,100)" to="(690,100)"/> - <wire from="(530,1010)" to="(690,1010)"/> - <wire from="(530,590)" to="(530,1010)"/> - <wire from="(540,230)" to="(540,530)"/> - <wire from="(540,230)" to="(690,230)"/> - <wire from="(540,580)" to="(540,880)"/> - <wire from="(540,880)" to="(690,880)"/> - <wire from="(550,360)" to="(550,540)"/> - <wire from="(550,360)" to="(690,360)"/> - <wire from="(550,570)" to="(550,750)"/> - <wire from="(550,750)" to="(690,750)"/> - <wire from="(560,490)" to="(560,550)"/> - <wire from="(560,490)" to="(690,490)"/> - <wire from="(560,560)" to="(560,620)"/> - <wire from="(560,620)" to="(690,620)"/> - <wire from="(670,1030)" to="(690,1030)"/> - <wire from="(670,1060)" to="(720,1060)"/> - <wire from="(670,120)" to="(690,120)"/> - <wire from="(670,150)" to="(720,150)"/> - <wire from="(670,210)" to="(690,210)"/> - <wire from="(670,250)" to="(690,250)"/> - <wire from="(670,280)" to="(720,280)"/> - <wire from="(670,340)" to="(690,340)"/> - <wire from="(670,380)" to="(690,380)"/> - <wire from="(670,410)" to="(720,410)"/> - <wire from="(670,470)" to="(690,470)"/> - <wire from="(670,510)" to="(690,510)"/> - <wire from="(670,540)" to="(720,540)"/> - <wire from="(670,600)" to="(690,600)"/> - <wire from="(670,640)" to="(690,640)"/> - <wire from="(670,670)" to="(720,670)"/> - <wire from="(670,730)" to="(690,730)"/> - <wire from="(670,770)" to="(690,770)"/> - <wire from="(670,80)" to="(690,80)"/> - <wire from="(670,800)" to="(720,800)"/> - <wire from="(670,860)" to="(690,860)"/> - <wire from="(670,900)" to="(690,900)"/> - <wire from="(670,930)" to="(720,930)"/> - <wire from="(670,990)" to="(690,990)"/> - <wire from="(720,1050)" to="(720,1060)"/> - <wire from="(720,140)" to="(720,150)"/> - <wire from="(720,270)" to="(720,280)"/> - <wire from="(720,400)" to="(720,410)"/> - <wire from="(720,530)" to="(720,540)"/> - <wire from="(720,660)" to="(720,670)"/> - <wire from="(720,790)" to="(720,800)"/> - <wire from="(720,920)" to="(720,930)"/> - <wire from="(750,210)" to="(1040,210)"/> - <wire from="(750,340)" to="(1030,340)"/> - <wire from="(750,470)" to="(1020,470)"/> - <wire from="(750,600)" to="(1020,600)"/> - <wire from="(750,730)" to="(1030,730)"/> - <wire from="(750,80)" to="(1050,80)"/> - <wire from="(750,860)" to="(1040,860)"/> - <wire from="(750,990)" to="(1050,990)"/> </circuit> <circuit name="ALU_ADD_SOUS"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU_ADD_SOUS"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(550,280)" to="(550,420)"/> + <wire from="(680,430)" to="(730,430)"/> + <wire from="(690,480)" to="(740,480)"/> + <wire from="(520,340)" to="(570,340)"/> + <wire from="(550,280)" to="(600,280)"/> + <wire from="(680,310)" to="(870,310)"/> + <wire from="(570,340)" to="(570,410)"/> + <wire from="(680,490)" to="(740,490)"/> + <wire from="(680,310)" to="(680,400)"/> + <wire from="(380,330)" to="(380,350)"/> + <wire from="(690,420)" to="(730,420)"/> + <wire from="(700,410)" to="(740,410)"/> + <wire from="(640,360)" to="(870,360)"/> + <wire from="(770,420)" to="(810,420)"/> + <wire from="(770,480)" to="(810,480)"/> + <wire from="(590,420)" to="(690,420)"/> + <wire from="(380,330)" to="(490,330)"/> + <wire from="(640,330)" to="(640,360)"/> + <wire from="(810,420)" to="(810,440)"/> + <wire from="(810,460)" to="(810,480)"/> + <wire from="(570,430)" to="(680,430)"/> + <wire from="(380,350)" to="(420,350)"/> + <wire from="(500,230)" to="(500,320)"/> + <wire from="(600,280)" to="(600,300)"/> + <wire from="(600,320)" to="(600,340)"/> + <wire from="(450,350)" to="(490,350)"/> + <wire from="(810,440)" to="(830,440)"/> + <wire from="(810,460)" to="(830,460)"/> + <wire from="(600,300)" to="(620,300)"/> + <wire from="(600,320)" to="(620,320)"/> + <wire from="(660,310)" to="(680,310)"/> + <wire from="(350,350)" to="(380,350)"/> + <wire from="(700,470)" to="(730,470)"/> + <wire from="(570,340)" to="(600,340)"/> + <wire from="(350,230)" to="(500,230)"/> + <wire from="(500,230)" to="(640,230)"/> + <wire from="(640,230)" to="(640,290)"/> + <wire from="(680,430)" to="(680,490)"/> + <wire from="(690,420)" to="(690,480)"/> + <wire from="(700,410)" to="(700,470)"/> + <wire from="(860,450)" to="(870,450)"/> + <wire from="(350,280)" to="(550,280)"/> + <wire from="(730,420)" to="(740,420)"/> + <wire from="(730,430)" to="(740,430)"/> + <wire from="(730,470)" to="(740,470)"/> <comp lib="0" loc="(350,230)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="OP_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(350,280)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(350,350)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="B_in"/> <a name="width" val="8"/> + <a name="label" val="B_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(550,420)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> @@ -1744,10 +2106,10 @@ <a name="bit5" val="none"/> <a name="bit6" val="none"/> <a name="bit7" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(570,410)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> @@ -1757,10 +2119,10 @@ <a name="bit5" val="none"/> <a name="bit6" val="none"/> <a name="bit7" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(680,400)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> @@ -1770,115 +2132,107 @@ <a name="bit5" val="none"/> <a name="bit6" val="none"/> <a name="bit7" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(870,310)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(870,360)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="C_out"/> <a name="output" val="true"/> + <a name="label" val="C_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(870,450)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="V_out"/> <a name="output" val="true"/> + <a name="label" val="V_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="1" loc="(450,350)" name="NOT Gate"> <a name="width" val="8"/> </comp> <comp lib="1" loc="(770,420)" name="AND Gate"> + <a name="size" val="30"/> <a name="inputs" val="3"/> <a name="negate1" val="true"/> <a name="negate2" val="true"/> - <a name="size" val="30"/> </comp> <comp lib="1" loc="(770,480)" name="AND Gate"> + <a name="size" val="30"/> <a name="inputs" val="3"/> <a name="negate0" val="true"/> - <a name="size" val="30"/> </comp> <comp lib="1" loc="(860,450)" name="OR Gate"> <a name="size" val="30"/> </comp> <comp lib="2" loc="(520,340)" name="Multiplexer"> - <a name="selloc" val="tr"/> - <a name="width" val="8"/> - </comp> - <comp lib="3" loc="(660,310)" name="Adder"/> - <wire from="(350,230)" to="(500,230)"/> - <wire from="(350,280)" to="(550,280)"/> - <wire from="(350,350)" to="(380,350)"/> - <wire from="(380,330)" to="(380,350)"/> - <wire from="(380,330)" to="(490,330)"/> - <wire from="(380,350)" to="(420,350)"/> - <wire from="(450,350)" to="(490,350)"/> - <wire from="(500,230)" to="(500,320)"/> - <wire from="(500,230)" to="(640,230)"/> - <wire from="(520,340)" to="(570,340)"/> - <wire from="(550,280)" to="(550,420)"/> - <wire from="(550,280)" to="(600,280)"/> - <wire from="(570,340)" to="(570,410)"/> - <wire from="(570,340)" to="(600,340)"/> - <wire from="(570,430)" to="(680,430)"/> - <wire from="(590,420)" to="(690,420)"/> - <wire from="(600,280)" to="(600,300)"/> - <wire from="(600,300)" to="(620,300)"/> - <wire from="(600,320)" to="(600,340)"/> - <wire from="(600,320)" to="(620,320)"/> - <wire from="(640,230)" to="(640,290)"/> - <wire from="(640,330)" to="(640,360)"/> - <wire from="(640,360)" to="(870,360)"/> - <wire from="(660,310)" to="(680,310)"/> - <wire from="(680,310)" to="(680,400)"/> - <wire from="(680,310)" to="(870,310)"/> - <wire from="(680,430)" to="(680,490)"/> - <wire from="(680,430)" to="(730,430)"/> - <wire from="(680,490)" to="(740,490)"/> - <wire from="(690,420)" to="(690,480)"/> - <wire from="(690,420)" to="(730,420)"/> - <wire from="(690,480)" to="(740,480)"/> - <wire from="(700,410)" to="(700,470)"/> - <wire from="(700,410)" to="(740,410)"/> - <wire from="(700,470)" to="(730,470)"/> - <wire from="(730,420)" to="(740,420)"/> - <wire from="(730,430)" to="(740,430)"/> - <wire from="(730,470)" to="(740,470)"/> - <wire from="(770,420)" to="(810,420)"/> - <wire from="(770,480)" to="(810,480)"/> - <wire from="(810,420)" to="(810,440)"/> - <wire from="(810,440)" to="(830,440)"/> - <wire from="(810,460)" to="(810,480)"/> - <wire from="(810,460)" to="(830,460)"/> - <wire from="(860,450)" to="(870,450)"/> + <a name="selloc" val="tr"/> + <a name="width" val="8"/> + </comp> + <comp lib="3" loc="(660,310)" name="Adder"/> </circuit> <circuit name="ALU_SHIFT"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU_SHIFT"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(180,370)" to="(180,380)"/> + <wire from="(220,340)" to="(220,350)"/> + <wire from="(200,340)" to="(200,350)"/> + <wire from="(210,340)" to="(210,350)"/> + <wire from="(220,240)" to="(220,250)"/> + <wire from="(230,240)" to="(230,250)"/> + <wire from="(230,340)" to="(230,350)"/> + <wire from="(240,240)" to="(240,250)"/> + <wire from="(240,340)" to="(240,350)"/> + <wire from="(250,240)" to="(250,250)"/> + <wire from="(250,340)" to="(250,350)"/> + <wire from="(330,240)" to="(330,380)"/> + <wire from="(260,240)" to="(260,250)"/> + <wire from="(260,340)" to="(260,350)"/> + <wire from="(270,240)" to="(270,250)"/> + <wire from="(270,340)" to="(270,350)"/> + <wire from="(280,240)" to="(280,250)"/> + <wire from="(490,190)" to="(490,210)"/> + <wire from="(380,190)" to="(490,190)"/> + <wire from="(300,320)" to="(300,350)"/> + <wire from="(160,220)" to="(190,220)"/> + <wire from="(380,190)" to="(380,290)"/> + <wire from="(210,300)" to="(370,300)"/> + <wire from="(320,220)" to="(480,220)"/> + <wire from="(160,190)" to="(380,190)"/> + <wire from="(190,220)" to="(190,320)"/> + <wire from="(270,350)" to="(300,350)"/> + <wire from="(180,380)" to="(330,380)"/> + <wire from="(300,270)" to="(320,270)"/> + <wire from="(510,230)" to="(530,230)"/> + <wire from="(330,240)" to="(480,240)"/> + <wire from="(190,220)" to="(200,220)"/> + <wire from="(320,220)" to="(320,270)"/> + <wire from="(400,310)" to="(530,310)"/> + <wire from="(300,320)" to="(370,320)"/> + <wire from="(210,240)" to="(210,300)"/> <comp lib="0" loc="(160,190)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="dir"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(160,220)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,370)" name="Splitter"> - <a name="appear" val="right"/> <a name="facing" val="north"/> <a name="fanout" val="8"/> <a name="incoming" val="8"/> + <a name="appear" val="right"/> </comp> <comp lib="0" loc="(190,320)" name="Splitter"> <a name="facing" val="south"/> @@ -1902,17 +2256,17 @@ <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(530,230)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(530,310)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="C_out"/> <a name="output" val="true"/> + <a name="label" val="C_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="2" loc="(400,310)" name="Multiplexer"> <a name="selloc" val="tr"/> @@ -1922,58 +2276,40 @@ <a name="width" val="8"/> </comp> <comp lib="6" loc="(286,127)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="0 - left"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(290,146)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="1 - right"/> + <a name="font" val="SansSerif plain 12"/> </comp> - <wire from="(160,190)" to="(380,190)"/> - <wire from="(160,220)" to="(190,220)"/> - <wire from="(180,370)" to="(180,380)"/> - <wire from="(180,380)" to="(330,380)"/> - <wire from="(190,220)" to="(190,320)"/> - <wire from="(190,220)" to="(200,220)"/> - <wire from="(200,340)" to="(200,350)"/> - <wire from="(210,240)" to="(210,300)"/> - <wire from="(210,300)" to="(370,300)"/> - <wire from="(210,340)" to="(210,350)"/> + </circuit> + <circuit name="ALU_SHIFT_SIGNED"> + <a name="circuit" val="ALU_SHIFT_SIGNED"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> + <a name="circuitnamedboxfixedsize" val="true"/> + <a name="circuitvhdlpath" val=""/> <wire from="(220,240)" to="(220,250)"/> - <wire from="(220,340)" to="(220,350)"/> <wire from="(230,240)" to="(230,250)"/> - <wire from="(230,340)" to="(230,350)"/> <wire from="(240,240)" to="(240,250)"/> - <wire from="(240,340)" to="(240,350)"/> <wire from="(250,240)" to="(250,250)"/> - <wire from="(250,340)" to="(250,350)"/> + <wire from="(290,250)" to="(340,250)"/> + <wire from="(160,220)" to="(210,220)"/> <wire from="(260,240)" to="(260,250)"/> - <wire from="(260,340)" to="(260,350)"/> <wire from="(270,240)" to="(270,250)"/> - <wire from="(270,340)" to="(270,350)"/> - <wire from="(270,350)" to="(300,350)"/> <wire from="(280,240)" to="(280,250)"/> - <wire from="(300,270)" to="(320,270)"/> - <wire from="(300,320)" to="(300,350)"/> - <wire from="(300,320)" to="(370,320)"/> - <wire from="(320,220)" to="(320,270)"/> - <wire from="(320,220)" to="(480,220)"/> - <wire from="(330,240)" to="(330,380)"/> - <wire from="(330,240)" to="(480,240)"/> - <wire from="(380,190)" to="(380,290)"/> - <wire from="(380,190)" to="(490,190)"/> - <wire from="(400,310)" to="(530,310)"/> - <wire from="(490,190)" to="(490,210)"/> - <wire from="(510,230)" to="(530,230)"/> - </circuit> - <circuit name="ALU_SHIFT_SIGNED"> - <a name="appearance" val="logisim_evolution"/> - <a name="circuit" val="ALU_SHIFT_SIGNED"/> - <a name="circuitnamedboxfixedsize" val="true"/> + <wire from="(290,240)" to="(290,250)"/> + <wire from="(340,310)" to="(480,310)"/> + <wire from="(210,250)" to="(220,250)"/> + <wire from="(340,250)" to="(340,310)"/> + <wire from="(290,270)" to="(490,270)"/> <comp lib="0" loc="(160,220)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(210,220)" name="Splitter"> <a name="facing" val="south"/> @@ -1986,125 +2322,215 @@ <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(480,310)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="C_out"/> <a name="output" val="true"/> + <a name="label" val="C_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(490,270)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> - <wire from="(160,220)" to="(210,220)"/> - <wire from="(210,250)" to="(220,250)"/> - <wire from="(220,240)" to="(220,250)"/> - <wire from="(230,240)" to="(230,250)"/> - <wire from="(240,240)" to="(240,250)"/> - <wire from="(250,240)" to="(250,250)"/> - <wire from="(260,240)" to="(260,250)"/> - <wire from="(270,240)" to="(270,250)"/> - <wire from="(280,240)" to="(280,250)"/> - <wire from="(290,240)" to="(290,250)"/> - <wire from="(290,250)" to="(340,250)"/> - <wire from="(290,270)" to="(490,270)"/> - <wire from="(340,250)" to="(340,310)"/> - <wire from="(340,310)" to="(480,310)"/> </circuit> <circuit name="ALU_AND"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU_AND"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(180,260)" to="(270,260)"/> + <wire from="(180,280)" to="(270,280)"/> + <wire from="(300,270)" to="(350,270)"/> <comp lib="0" loc="(180,260)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,280)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="B_in"/> <a name="width" val="8"/> + <a name="label" val="B_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(350,270)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="1" loc="(300,270)" name="AND Gate"> - <a name="size" val="30"/> <a name="width" val="8"/> + <a name="size" val="30"/> </comp> - <wire from="(180,260)" to="(270,260)"/> - <wire from="(180,280)" to="(270,280)"/> - <wire from="(300,270)" to="(350,270)"/> </circuit> <circuit name="ALU_OR"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU_OR"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(180,260)" to="(270,260)"/> + <wire from="(180,280)" to="(270,280)"/> + <wire from="(300,270)" to="(350,270)"/> <comp lib="0" loc="(180,260)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,280)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="B_in"/> <a name="width" val="8"/> + <a name="label" val="B_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(350,270)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="1" loc="(300,270)" name="OR Gate"> - <a name="size" val="30"/> <a name="width" val="8"/> + <a name="size" val="30"/> </comp> - <wire from="(180,260)" to="(270,260)"/> - <wire from="(180,280)" to="(270,280)"/> - <wire from="(300,270)" to="(350,270)"/> </circuit> <circuit name="ALU_NOT"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU_NOT"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(180,260)" to="(270,260)"/> + <wire from="(300,260)" to="(350,260)"/> <comp lib="0" loc="(180,260)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(350,260)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R_out"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R_out"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="1" loc="(300,260)" name="NOT Gate"> <a name="width" val="8"/> </comp> - <wire from="(180,260)" to="(270,260)"/> - <wire from="(300,260)" to="(350,260)"/> </circuit> <circuit name="ALU"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="ALU"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(660,460)" to="(970,460)"/> + <wire from="(830,230)" to="(950,230)"/> + <wire from="(830,250)" to="(950,250)"/> + <wire from="(940,480)" to="(940,490)"/> + <wire from="(960,500)" to="(960,510)"/> + <wire from="(960,520)" to="(960,530)"/> + <wire from="(970,450)" to="(970,460)"/> + <wire from="(970,470)" to="(970,480)"/> + <wire from="(1220,400)" to="(1220,420)"/> + <wire from="(830,230)" to="(830,240)"/> + <wire from="(830,250)" to="(830,260)"/> + <wire from="(630,270)" to="(680,270)"/> + <wire from="(1310,350)" to="(1410,350)"/> + <wire from="(830,260)" to="(830,330)"/> + <wire from="(870,300)" to="(870,650)"/> + <wire from="(170,150)" to="(170,170)"/> + <wire from="(940,490)" to="(980,490)"/> + <wire from="(660,250)" to="(660,460)"/> + <wire from="(50,250)" to="(410,250)"/> + <wire from="(50,350)" to="(410,350)"/> + <wire from="(50,410)" to="(410,410)"/> + <wire from="(50,490)" to="(410,490)"/> + <wire from="(50,570)" to="(410,570)"/> + <wire from="(50,650)" to="(410,650)"/> + <wire from="(630,650)" to="(870,650)"/> + <wire from="(840,270)" to="(950,270)"/> + <wire from="(850,280)" to="(850,490)"/> + <wire from="(960,510)" to="(980,510)"/> + <wire from="(170,170)" to="(170,210)"/> + <wire from="(630,250)" to="(660,250)"/> + <wire from="(860,290)" to="(950,290)"/> + <wire from="(970,170)" to="(1000,170)"/> + <wire from="(630,490)" to="(850,490)"/> + <wire from="(1240,360)" to="(1270,360)"/> + <wire from="(630,230)" to="(830,230)"/> + <wire from="(630,330)" to="(830,330)"/> + <wire from="(970,170)" to="(970,230)"/> + <wire from="(680,560)" to="(1260,560)"/> + <wire from="(970,450)" to="(980,450)"/> + <wire from="(970,470)" to="(980,470)"/> + <wire from="(170,210)" to="(370,210)"/> + <wire from="(170,310)" to="(370,310)"/> + <wire from="(50,350)" to="(50,410)"/> + <wire from="(1240,430)" to="(1260,430)"/> + <wire from="(630,430)" to="(640,430)"/> + <wire from="(840,270)" to="(840,410)"/> + <wire from="(830,240)" to="(950,240)"/> + <wire from="(830,260)" to="(950,260)"/> + <wire from="(960,510)" to="(960,520)"/> + <wire from="(1030,270)" to="(1030,340)"/> + <wire from="(650,470)" to="(970,470)"/> + <wire from="(1030,400)" to="(1220,400)"/> + <wire from="(50,410)" to="(50,490)"/> + <wire from="(50,490)" to="(50,570)"/> + <wire from="(110,510)" to="(110,590)"/> + <wire from="(50,570)" to="(50,650)"/> + <wire from="(850,280)" to="(950,280)"/> + <wire from="(630,570)" to="(860,570)"/> + <wire from="(1030,270)" to="(1260,270)"/> + <wire from="(110,270)" to="(410,270)"/> + <wire from="(860,290)" to="(860,570)"/> + <wire from="(110,510)" to="(410,510)"/> + <wire from="(110,590)" to="(410,590)"/> + <wire from="(1000,170)" to="(1000,450)"/> + <wire from="(990,270)" to="(1030,270)"/> + <wire from="(640,480)" to="(940,480)"/> + <wire from="(1020,490)" to="(1260,490)"/> + <wire from="(1030,340)" to="(1270,340)"/> + <wire from="(960,500)" to="(980,500)"/> + <wire from="(960,520)" to="(980,520)"/> + <wire from="(170,170)" to="(970,170)"/> + <wire from="(50,150)" to="(50,250)"/> + <wire from="(50,250)" to="(50,350)"/> + <wire from="(630,350)" to="(650,350)"/> + <wire from="(170,210)" to="(170,310)"/> + <wire from="(380,230)" to="(410,230)"/> + <wire from="(380,330)" to="(410,330)"/> + <wire from="(630,410)" to="(840,410)"/> + <wire from="(680,270)" to="(680,560)"/> + <wire from="(110,270)" to="(110,510)"/> + <wire from="(650,350)" to="(650,470)"/> + <wire from="(1030,340)" to="(1030,400)"/> + <wire from="(970,460)" to="(980,460)"/> + <wire from="(970,480)" to="(980,480)"/> + <wire from="(110,150)" to="(110,270)"/> + <wire from="(640,430)" to="(640,480)"/> + <wire from="(870,300)" to="(950,300)"/> <comp lib="0" loc="(110,150)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> - <a name="label" val="B_in"/> <a name="width" val="8"/> + <a name="label" val="B_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1220,420)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> @@ -2114,179 +2540,106 @@ <a name="bit5" val="none"/> <a name="bit6" val="none"/> <a name="bit7" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(1240,360)" name="Constant"> - <a name="value" val="0x0"/> <a name="width" val="8"/> + <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(1260,270)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="R"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="R"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1260,430)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="N"/> <a name="output" val="true"/> + <a name="label" val="N"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1260,490)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="C"/> <a name="output" val="true"/> + <a name="label" val="C"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1260,560)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="V"/> <a name="output" val="true"/> + <a name="label" val="V"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1410,350)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="Z"/> <a name="output" val="true"/> + <a name="label" val="Z"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(170,150)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> - <a name="label" val="OP_in"/> <a name="width" val="3"/> + <a name="label" val="OP_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(370,210)" name="Splitter"> - <a name="bit1" val="none"/> - <a name="bit2" val="none"/> <a name="facing" val="south"/> <a name="fanout" val="1"/> <a name="incoming" val="3"/> - </comp> - <comp lib="0" loc="(370,310)" name="Splitter"> <a name="bit1" val="none"/> <a name="bit2" val="none"/> + </comp> + <comp lib="0" loc="(370,310)" name="Splitter"> <a name="facing" val="south"/> <a name="fanout" val="1"/> <a name="incoming" val="3"/> + <a name="bit1" val="none"/> + <a name="bit2" val="none"/> </comp> <comp lib="0" loc="(50,150)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> - <a name="label" val="A_in"/> <a name="width" val="8"/> + <a name="label" val="A_in"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(960,530)" name="Ground"/> <comp lib="2" loc="(1020,490)" name="Multiplexer"> - <a name="select" val="3"/> <a name="selloc" val="tr"/> + <a name="select" val="3"/> </comp> <comp lib="2" loc="(990,270)" name="Multiplexer"> - <a name="select" val="3"/> <a name="selloc" val="tr"/> + <a name="select" val="3"/> <a name="width" val="8"/> </comp> <comp lib="3" loc="(1310,350)" name="Comparator"/> - <comp loc="(630,230)" name="ALU_ADD_SOUS"/> - <comp loc="(630,330)" name="ALU_SHIFT"/> - <comp loc="(630,410)" name="ALU_SHIFT_SIGNED"/> - <comp loc="(630,490)" name="ALU_AND"/> - <comp loc="(630,570)" name="ALU_OR"/> - <comp loc="(630,650)" name="ALU_NOT"/> - <wire from="(1000,170)" to="(1000,450)"/> - <wire from="(1020,490)" to="(1260,490)"/> - <wire from="(1030,270)" to="(1030,340)"/> - <wire from="(1030,270)" to="(1260,270)"/> - <wire from="(1030,340)" to="(1030,400)"/> - <wire from="(1030,340)" to="(1270,340)"/> - <wire from="(1030,400)" to="(1220,400)"/> - <wire from="(110,150)" to="(110,270)"/> - <wire from="(110,270)" to="(110,510)"/> - <wire from="(110,270)" to="(410,270)"/> - <wire from="(110,510)" to="(110,590)"/> - <wire from="(110,510)" to="(410,510)"/> - <wire from="(110,590)" to="(410,590)"/> - <wire from="(1220,400)" to="(1220,420)"/> - <wire from="(1240,360)" to="(1270,360)"/> - <wire from="(1240,430)" to="(1260,430)"/> - <wire from="(1310,350)" to="(1410,350)"/> - <wire from="(170,150)" to="(170,170)"/> - <wire from="(170,170)" to="(170,210)"/> - <wire from="(170,170)" to="(970,170)"/> - <wire from="(170,210)" to="(170,310)"/> - <wire from="(170,210)" to="(370,210)"/> - <wire from="(170,310)" to="(370,310)"/> - <wire from="(380,230)" to="(410,230)"/> - <wire from="(380,330)" to="(410,330)"/> - <wire from="(50,150)" to="(50,250)"/> - <wire from="(50,250)" to="(410,250)"/> - <wire from="(50,250)" to="(50,350)"/> - <wire from="(50,350)" to="(410,350)"/> - <wire from="(50,350)" to="(50,410)"/> - <wire from="(50,410)" to="(410,410)"/> - <wire from="(50,410)" to="(50,490)"/> - <wire from="(50,490)" to="(410,490)"/> - <wire from="(50,490)" to="(50,570)"/> - <wire from="(50,570)" to="(410,570)"/> - <wire from="(50,570)" to="(50,650)"/> - <wire from="(50,650)" to="(410,650)"/> - <wire from="(630,230)" to="(830,230)"/> - <wire from="(630,250)" to="(660,250)"/> - <wire from="(630,270)" to="(680,270)"/> - <wire from="(630,330)" to="(830,330)"/> - <wire from="(630,350)" to="(650,350)"/> - <wire from="(630,410)" to="(840,410)"/> - <wire from="(630,430)" to="(640,430)"/> - <wire from="(630,490)" to="(850,490)"/> - <wire from="(630,570)" to="(860,570)"/> - <wire from="(630,650)" to="(870,650)"/> - <wire from="(640,430)" to="(640,480)"/> - <wire from="(640,480)" to="(940,480)"/> - <wire from="(650,350)" to="(650,470)"/> - <wire from="(650,470)" to="(970,470)"/> - <wire from="(660,250)" to="(660,460)"/> - <wire from="(660,460)" to="(970,460)"/> - <wire from="(680,270)" to="(680,560)"/> - <wire from="(680,560)" to="(1260,560)"/> - <wire from="(830,230)" to="(830,240)"/> - <wire from="(830,230)" to="(950,230)"/> - <wire from="(830,240)" to="(950,240)"/> - <wire from="(830,250)" to="(830,260)"/> - <wire from="(830,250)" to="(950,250)"/> - <wire from="(830,260)" to="(830,330)"/> - <wire from="(830,260)" to="(950,260)"/> - <wire from="(840,270)" to="(840,410)"/> - <wire from="(840,270)" to="(950,270)"/> - <wire from="(850,280)" to="(850,490)"/> - <wire from="(850,280)" to="(950,280)"/> - <wire from="(860,290)" to="(860,570)"/> - <wire from="(860,290)" to="(950,290)"/> - <wire from="(870,300)" to="(870,650)"/> - <wire from="(870,300)" to="(950,300)"/> - <wire from="(940,480)" to="(940,490)"/> - <wire from="(940,490)" to="(980,490)"/> - <wire from="(960,500)" to="(960,510)"/> - <wire from="(960,500)" to="(980,500)"/> - <wire from="(960,510)" to="(960,520)"/> - <wire from="(960,510)" to="(980,510)"/> - <wire from="(960,520)" to="(960,530)"/> - <wire from="(960,520)" to="(980,520)"/> - <wire from="(970,170)" to="(1000,170)"/> - <wire from="(970,170)" to="(970,230)"/> - <wire from="(970,450)" to="(970,460)"/> - <wire from="(970,450)" to="(980,450)"/> - <wire from="(970,460)" to="(980,460)"/> - <wire from="(970,470)" to="(970,480)"/> - <wire from="(970,470)" to="(980,470)"/> - <wire from="(970,480)" to="(980,480)"/> - <wire from="(990,270)" to="(1030,270)"/> + <comp loc="(630,230)" name="ALU_ADD_SOUS"> + <a name="label" val="ALU_ADDER"/> + </comp> + <comp loc="(630,330)" name="ALU_SHIFT"> + <a name="label" val="ALU_SH"/> + </comp> + <comp loc="(630,410)" name="ALU_SHIFT_SIGNED"> + <a name="label" val="ALU_SH_SIGNED"/> + </comp> + <comp loc="(630,490)" name="ALU_AND"> + <a name="label" val="ALU_ET"/> + </comp> + <comp loc="(630,570)" name="ALU_OR"> + <a name="label" val="ALU_OU"/> + </comp> + <comp loc="(630,650)" name="ALU_NOT"> + <a name="label" val="ALU_NON"/> + </comp> </circuit> <circuit name="CPU_RL"> - <a name="appearance" val="custom"/> <a name="circuit" val="CPU_RL"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="custom"/> <a name="circuitnamedboxfixedsize" val="true"/> + <a name="circuitvhdlpath" val=""/> <appear> <rect height="4" stroke="none" width="10" x="50" y="58"/> <text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="64">PC</text> @@ -2299,102 +2652,193 @@ <rect height="19" stroke="none" width="120" x="60" y="110"/> <rect fill="none" height="79" stroke="#000000" stroke-width="2" width="120" x="60" y="50"/> <text dominant-baseline="alphabetic" fill="#ffffff" font-family="Dialog" font-size="14" font-weight="bold" text-anchor="middle" x="121" y="123">CPU_RL</text> - <visible-register height="10" path="/Register(760,180)" stroke-width="0" width="6" x="160" y="70"/> - <circ-anchor facing="east" height="6" width="6" x="187" y="57"/> - <circ-port height="10" pin="870,210" width="10" x="185" y="55"/> <circ-port height="8" pin="610,200" width="8" x="46" y="56"/> + <circ-port height="10" pin="870,210" width="10" x="185" y="55"/> <circ-port height="8" pin="730,250" width="8" x="46" y="76"/> <circ-port height="8" pin="790,300" width="8" x="46" y="96"/> + <visible-register height="10" path="/Register(760,180)" stroke-width="0" width="6" x="160" y="70"/> + <circ-anchor facing="east" height="6" width="6" x="187" y="57"/> </appear> + <wire from="(790,270)" to="(790,300)"/> + <wire from="(820,210)" to="(870,210)"/> + <wire from="(610,200)" to="(680,200)"/> + <wire from="(720,210)" to="(760,210)"/> + <wire from="(660,220)" to="(680,220)"/> + <wire from="(730,250)" to="(760,250)"/> + <wire from="(750,230)" to="(760,230)"/> <comp lib="0" loc="(610,200)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="PC"/> <a name="width" val="4"/> + <a name="label" val="PC"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(660,220)" name="Constant"> <a name="width" val="4"/> </comp> <comp lib="0" loc="(730,250)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(750,230)" name="Constant"/> <comp lib="0" loc="(790,300)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="north"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(870,210)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="REG_L"/> <a name="output" val="true"/> <a name="width" val="4"/> + <a name="label" val="REG_L"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="3" loc="(720,210)" name="Adder"> <a name="width" val="4"/> </comp> <comp lib="4" loc="(760,180)" name="Register"> - <a name="appearance" val="logisim_evolution"/> <a name="width" val="4"/> </comp> - <wire from="(610,200)" to="(680,200)"/> - <wire from="(660,220)" to="(680,220)"/> - <wire from="(720,210)" to="(760,210)"/> - <wire from="(730,250)" to="(760,250)"/> - <wire from="(750,230)" to="(760,230)"/> - <wire from="(790,270)" to="(790,300)"/> - <wire from="(820,210)" to="(870,210)"/> </circuit> <circuit name="CPU_RAM8"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="CPU_RAM8"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(720,140)" to="(720,150)"/> + <wire from="(720,400)" to="(720,410)"/> + <wire from="(720,660)" to="(720,670)"/> + <wire from="(720,920)" to="(720,930)"/> + <wire from="(670,150)" to="(720,150)"/> + <wire from="(670,410)" to="(720,410)"/> + <wire from="(670,670)" to="(720,670)"/> + <wire from="(670,930)" to="(720,930)"/> + <wire from="(1020,540)" to="(1120,540)"/> + <wire from="(750,210)" to="(1040,210)"/> + <wire from="(460,560)" to="(560,560)"/> + <wire from="(180,180)" to="(280,180)"/> + <wire from="(180,220)" to="(280,220)"/> + <wire from="(180,240)" to="(280,240)"/> + <wire from="(750,80)" to="(1050,80)"/> + <wire from="(1040,560)" to="(1120,560)"/> + <wire from="(460,570)" to="(550,570)"/> + <wire from="(540,880)" to="(690,880)"/> + <wire from="(1140,580)" to="(1140,630)"/> + <wire from="(750,340)" to="(1030,340)"/> + <wire from="(540,580)" to="(540,880)"/> + <wire from="(670,120)" to="(690,120)"/> + <wire from="(670,340)" to="(690,340)"/> + <wire from="(670,380)" to="(690,380)"/> + <wire from="(670,600)" to="(690,600)"/> + <wire from="(670,640)" to="(690,640)"/> + <wire from="(670,860)" to="(690,860)"/> + <wire from="(670,900)" to="(690,900)"/> + <wire from="(530,100)" to="(690,100)"/> + <wire from="(1030,520)" to="(1120,520)"/> + <wire from="(1050,500)" to="(1120,500)"/> + <wire from="(530,590)" to="(530,1010)"/> + <wire from="(440,600)" to="(440,640)"/> + <wire from="(1020,540)" to="(1020,600)"/> + <wire from="(200,120)" to="(280,120)"/> + <wire from="(1050,570)" to="(1050,990)"/> + <wire from="(560,560)" to="(560,620)"/> + <wire from="(560,620)" to="(690,620)"/> + <wire from="(460,580)" to="(540,580)"/> + <wire from="(750,470)" to="(1020,470)"/> + <wire from="(1030,550)" to="(1030,730)"/> + <wire from="(1040,560)" to="(1040,860)"/> + <wire from="(550,360)" to="(690,360)"/> + <wire from="(550,570)" to="(550,750)"/> + <wire from="(460,590)" to="(530,590)"/> + <wire from="(720,1050)" to="(720,1060)"/> + <wire from="(720,270)" to="(720,280)"/> + <wire from="(720,530)" to="(720,540)"/> + <wire from="(720,790)" to="(720,800)"/> + <wire from="(670,1060)" to="(720,1060)"/> + <wire from="(670,280)" to="(720,280)"/> + <wire from="(670,540)" to="(720,540)"/> + <wire from="(670,800)" to="(720,800)"/> + <wire from="(1020,530)" to="(1120,530)"/> + <wire from="(750,860)" to="(1040,860)"/> + <wire from="(580,80)" to="(690,80)"/> + <wire from="(460,550)" to="(560,550)"/> + <wire from="(750,990)" to="(1050,990)"/> + <wire from="(1040,510)" to="(1120,510)"/> + <wire from="(250,160)" to="(280,160)"/> + <wire from="(460,540)" to="(550,540)"/> + <wire from="(540,230)" to="(690,230)"/> + <wire from="(1040,210)" to="(1040,510)"/> + <wire from="(750,730)" to="(1030,730)"/> + <wire from="(540,230)" to="(540,530)"/> + <wire from="(670,1030)" to="(690,1030)"/> + <wire from="(670,210)" to="(690,210)"/> + <wire from="(670,250)" to="(690,250)"/> + <wire from="(670,470)" to="(690,470)"/> + <wire from="(670,510)" to="(690,510)"/> + <wire from="(670,730)" to="(690,730)"/> + <wire from="(670,770)" to="(690,770)"/> + <wire from="(670,990)" to="(690,990)"/> + <wire from="(530,1010)" to="(690,1010)"/> + <wire from="(1030,550)" to="(1120,550)"/> + <wire from="(1050,570)" to="(1120,570)"/> + <wire from="(400,560)" to="(420,560)"/> + <wire from="(1050,80)" to="(1050,500)"/> + <wire from="(1160,540)" to="(1230,540)"/> + <wire from="(530,100)" to="(530,520)"/> + <wire from="(1020,470)" to="(1020,530)"/> + <wire from="(560,490)" to="(560,550)"/> + <wire from="(560,490)" to="(690,490)"/> + <wire from="(460,530)" to="(540,530)"/> + <wire from="(750,600)" to="(1020,600)"/> + <wire from="(1030,340)" to="(1030,520)"/> + <wire from="(550,360)" to="(550,540)"/> + <wire from="(550,750)" to="(690,750)"/> + <wire from="(460,520)" to="(530,520)"/> <comp lib="0" loc="(1140,630)" name="Tunnel"> <a name="facing" val="north"/> + <a name="width" val="3"/> <a name="label" val="ADD_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1230,540)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DATA_OUT"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="DATA_OUT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,180)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="EN_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,220)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(180,240)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(200,120)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD_A"/> <a name="width" val="3"/> + <a name="label" val="ADD_A"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(250,160)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="DATA_WR"/> <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(280,120)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(280,160)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(280,180)" name="Tunnel"> <a name="label" val="EN_WR"/> @@ -2415,15 +2859,15 @@ </comp> <comp lib="0" loc="(440,640)" name="Tunnel"> <a name="facing" val="north"/> + <a name="width" val="3"/> <a name="label" val="ADD_A"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(580,80)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,1030)" name="Tunnel"> <a name="facing" val="east"/> @@ -2447,9 +2891,9 @@ </comp> <comp lib="0" loc="(670,210)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,250)" name="Tunnel"> <a name="facing" val="east"/> @@ -2463,9 +2907,9 @@ </comp> <comp lib="0" loc="(670,340)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(670,380)" name="Tunnel"> <a name="facing" val="east"/> @@ -2477,251 +2921,179 @@ <a name="label" val="RESET"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> - <comp lib="0" loc="(670,470)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="DATA_WR"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> - <comp lib="0" loc="(670,510)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="CLK"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,540)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="RESET"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,600)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="DATA_WR"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> - <comp lib="0" loc="(670,640)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="CLK"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,670)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="RESET"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,730)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="DATA_WR"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> - <comp lib="0" loc="(670,770)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="CLK"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,800)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="RESET"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,860)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="DATA_WR"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> - <comp lib="0" loc="(670,900)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="CLK"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,930)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="RESET"/> - <a name="labelfont" val="SansSerif bold 8"/> - </comp> - <comp lib="0" loc="(670,990)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="DATA_WR"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> - <comp lib="2" loc="(1160,540)" name="Multiplexer"> - <a name="select" val="3"/> - <a name="width" val="8"/> - </comp> - <comp lib="2" loc="(420,560)" name="Demultiplexer"> - <a name="select" val="3"/> - </comp> - <comp lib="4" loc="(690,180)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,310)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,440)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,50)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,570)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,700)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,830)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(690,960)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="6" loc="(1144,666)" name="Text"> - <a name="font" val="SansSerif plain 12"/> - <a name="text" val="READ A"/> - </comp> - <wire from="(1020,470)" to="(1020,530)"/> - <wire from="(1020,530)" to="(1120,530)"/> - <wire from="(1020,540)" to="(1020,600)"/> - <wire from="(1020,540)" to="(1120,540)"/> - <wire from="(1030,340)" to="(1030,520)"/> - <wire from="(1030,520)" to="(1120,520)"/> - <wire from="(1030,550)" to="(1030,730)"/> - <wire from="(1030,550)" to="(1120,550)"/> - <wire from="(1040,210)" to="(1040,510)"/> - <wire from="(1040,510)" to="(1120,510)"/> - <wire from="(1040,560)" to="(1040,860)"/> - <wire from="(1040,560)" to="(1120,560)"/> - <wire from="(1050,500)" to="(1120,500)"/> - <wire from="(1050,570)" to="(1050,990)"/> - <wire from="(1050,570)" to="(1120,570)"/> - <wire from="(1050,80)" to="(1050,500)"/> - <wire from="(1140,580)" to="(1140,630)"/> - <wire from="(1160,540)" to="(1230,540)"/> - <wire from="(180,180)" to="(280,180)"/> - <wire from="(180,220)" to="(280,220)"/> - <wire from="(180,240)" to="(280,240)"/> - <wire from="(200,120)" to="(280,120)"/> - <wire from="(250,160)" to="(280,160)"/> - <wire from="(400,560)" to="(420,560)"/> - <wire from="(440,600)" to="(440,640)"/> - <wire from="(460,520)" to="(530,520)"/> - <wire from="(460,530)" to="(540,530)"/> - <wire from="(460,540)" to="(550,540)"/> - <wire from="(460,550)" to="(560,550)"/> - <wire from="(460,560)" to="(560,560)"/> - <wire from="(460,570)" to="(550,570)"/> - <wire from="(460,580)" to="(540,580)"/> - <wire from="(460,590)" to="(530,590)"/> - <wire from="(530,100)" to="(530,520)"/> - <wire from="(530,100)" to="(690,100)"/> - <wire from="(530,1010)" to="(690,1010)"/> - <wire from="(530,590)" to="(530,1010)"/> - <wire from="(540,230)" to="(540,530)"/> - <wire from="(540,230)" to="(690,230)"/> - <wire from="(540,580)" to="(540,880)"/> - <wire from="(540,880)" to="(690,880)"/> - <wire from="(550,360)" to="(550,540)"/> - <wire from="(550,360)" to="(690,360)"/> - <wire from="(550,570)" to="(550,750)"/> - <wire from="(550,750)" to="(690,750)"/> - <wire from="(560,490)" to="(560,550)"/> - <wire from="(560,490)" to="(690,490)"/> - <wire from="(560,560)" to="(560,620)"/> - <wire from="(560,620)" to="(690,620)"/> - <wire from="(580,80)" to="(690,80)"/> - <wire from="(670,1030)" to="(690,1030)"/> - <wire from="(670,1060)" to="(720,1060)"/> - <wire from="(670,120)" to="(690,120)"/> - <wire from="(670,150)" to="(720,150)"/> - <wire from="(670,210)" to="(690,210)"/> - <wire from="(670,250)" to="(690,250)"/> - <wire from="(670,280)" to="(720,280)"/> - <wire from="(670,340)" to="(690,340)"/> - <wire from="(670,380)" to="(690,380)"/> - <wire from="(670,410)" to="(720,410)"/> - <wire from="(670,470)" to="(690,470)"/> - <wire from="(670,510)" to="(690,510)"/> - <wire from="(670,540)" to="(720,540)"/> - <wire from="(670,600)" to="(690,600)"/> - <wire from="(670,640)" to="(690,640)"/> - <wire from="(670,670)" to="(720,670)"/> - <wire from="(670,730)" to="(690,730)"/> - <wire from="(670,770)" to="(690,770)"/> - <wire from="(670,800)" to="(720,800)"/> - <wire from="(670,860)" to="(690,860)"/> - <wire from="(670,900)" to="(690,900)"/> - <wire from="(670,930)" to="(720,930)"/> - <wire from="(670,990)" to="(690,990)"/> - <wire from="(720,1050)" to="(720,1060)"/> - <wire from="(720,140)" to="(720,150)"/> - <wire from="(720,270)" to="(720,280)"/> - <wire from="(720,400)" to="(720,410)"/> - <wire from="(720,530)" to="(720,540)"/> - <wire from="(720,660)" to="(720,670)"/> - <wire from="(720,790)" to="(720,800)"/> - <wire from="(720,920)" to="(720,930)"/> - <wire from="(750,210)" to="(1040,210)"/> - <wire from="(750,340)" to="(1030,340)"/> - <wire from="(750,470)" to="(1020,470)"/> - <wire from="(750,600)" to="(1020,600)"/> - <wire from="(750,730)" to="(1030,730)"/> - <wire from="(750,80)" to="(1050,80)"/> - <wire from="(750,860)" to="(1040,860)"/> - <wire from="(750,990)" to="(1050,990)"/> + <comp lib="0" loc="(670,470)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,510)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="CLK"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,540)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="RESET"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,600)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,640)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="CLK"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,670)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="RESET"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,730)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,770)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="CLK"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,800)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="RESET"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,860)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,900)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="CLK"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,930)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="label" val="RESET"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,990)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="2" loc="(1160,540)" name="Multiplexer"> + <a name="select" val="3"/> + <a name="width" val="8"/> + <a name="enable" val="false"/> + </comp> + <comp lib="2" loc="(420,560)" name="Demultiplexer"> + <a name="select" val="3"/> + <a name="enable" val="false"/> + </comp> + <comp lib="4" loc="(690,180)" name="Register"/> + <comp lib="4" loc="(690,310)" name="Register"/> + <comp lib="4" loc="(690,440)" name="Register"/> + <comp lib="4" loc="(690,50)" name="Register"/> + <comp lib="4" loc="(690,570)" name="Register"/> + <comp lib="4" loc="(690,700)" name="Register"/> + <comp lib="4" loc="(690,830)" name="Register"/> + <comp lib="4" loc="(690,960)" name="Register"/> + <comp lib="6" loc="(1144,666)" name="Text"> + <a name="text" val="READ A"/> + <a name="font" val="SansSerif plain 12"/> + </comp> </circuit> <circuit name="CPU_RAM16"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="CPU_RAM16"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(1130,490)" to="(1130,510)"/> + <wire from="(670,370)" to="(730,370)"/> + <wire from="(830,340)" to="(870,340)"/> + <wire from="(830,360)" to="(870,360)"/> + <wire from="(830,400)" to="(870,400)"/> + <wire from="(830,420)" to="(870,420)"/> + <wire from="(830,480)" to="(870,480)"/> + <wire from="(830,500)" to="(870,500)"/> + <wire from="(830,540)" to="(870,540)"/> + <wire from="(830,560)" to="(870,560)"/> + <wire from="(760,380)" to="(870,380)"/> + <wire from="(760,520)" to="(870,520)"/> + <wire from="(420,250)" to="(520,250)"/> + <wire from="(420,290)" to="(520,290)"/> + <wire from="(420,310)" to="(520,310)"/> + <wire from="(450,150)" to="(490,150)"/> + <wire from="(490,230)" to="(520,230)"/> + <wire from="(510,120)" to="(540,120)"/> + <wire from="(510,140)" to="(540,140)"/> + <wire from="(1090,340)" to="(1100,340)"/> + <wire from="(670,390)" to="(690,390)"/> + <wire from="(710,390)" to="(730,390)"/> + <wire from="(710,510)" to="(730,510)"/> + <wire from="(710,530)" to="(730,530)"/> + <wire from="(1100,340)" to="(1100,460)"/> + <wire from="(1090,480)" to="(1120,480)"/> + <wire from="(1150,470)" to="(1180,470)"/> + <wire from="(1100,460)" to="(1120,460)"/> <comp lib="0" loc="(1130,510)" name="Tunnel"> <a name="facing" val="north"/> <a name="label" val="SEL"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1180,470)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DATA_OUT"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="DATA_OUT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,250)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="EN_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,290)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,310)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(450,150)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD"/> <a name="width" val="4"/> + <a name="label" val="ADD"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(490,150)" name="Splitter"> + <a name="incoming" val="4"/> + <a name="spacing" val="2"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> <a name="bit3" val="1"/> - <a name="incoming" val="4"/> - <a name="spacing" val="2"/> </comp> <comp lib="0" loc="(490,230)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="DATA_WR"/> <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(520,230)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(520,250)" name="Tunnel"> <a name="label" val="EN_WR"/> @@ -2736,9 +3108,9 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(540,120)" name="Tunnel"> + <a name="width" val="3"/> <a name="label" val="ADD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(540,140)" name="Tunnel"> <a name="label" val="SEL"/> @@ -2766,15 +3138,15 @@ </comp> <comp lib="0" loc="(830,340)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(830,360)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(830,400)" name="Tunnel"> <a name="facing" val="east"/> @@ -2788,15 +3160,15 @@ </comp> <comp lib="0" loc="(830,480)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="3"/> <a name="label" val="ADD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(830,500)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(830,540)" name="Tunnel"> <a name="facing" val="east"/> @@ -2819,6 +3191,7 @@ </comp> <comp lib="2" loc="(1150,470)" name="Multiplexer"> <a name="width" val="8"/> + <a name="enable" val="false"/> </comp> <comp loc="(1090,340)" name="CPU_RAM8"> <a name="label" val="RAM8_1"/> @@ -2826,40 +3199,131 @@ <comp loc="(1090,480)" name="CPU_RAM8"> <a name="label" val="RAM8_2"/> </comp> - <wire from="(1090,340)" to="(1100,340)"/> - <wire from="(1090,480)" to="(1120,480)"/> - <wire from="(1100,340)" to="(1100,460)"/> - <wire from="(1100,460)" to="(1120,460)"/> - <wire from="(1130,490)" to="(1130,510)"/> - <wire from="(1150,470)" to="(1180,470)"/> - <wire from="(420,250)" to="(520,250)"/> - <wire from="(420,290)" to="(520,290)"/> - <wire from="(420,310)" to="(520,310)"/> - <wire from="(450,150)" to="(490,150)"/> - <wire from="(490,230)" to="(520,230)"/> - <wire from="(510,120)" to="(540,120)"/> - <wire from="(510,140)" to="(540,140)"/> - <wire from="(670,370)" to="(730,370)"/> - <wire from="(670,390)" to="(690,390)"/> - <wire from="(710,390)" to="(730,390)"/> - <wire from="(710,510)" to="(730,510)"/> - <wire from="(710,530)" to="(730,530)"/> - <wire from="(760,380)" to="(870,380)"/> - <wire from="(760,520)" to="(870,520)"/> - <wire from="(830,340)" to="(870,340)"/> - <wire from="(830,360)" to="(870,360)"/> - <wire from="(830,400)" to="(870,400)"/> - <wire from="(830,420)" to="(870,420)"/> - <wire from="(830,480)" to="(870,480)"/> - <wire from="(830,500)" to="(870,500)"/> - <wire from="(830,540)" to="(870,540)"/> - <wire from="(830,560)" to="(870,560)"/> </circuit> <circuit name="CPU_RAM24"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="CPU_RAM24"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(990,1270)" to="(1040,1270)"/> + <wire from="(990,750)" to="(1040,750)"/> + <wire from="(1070,1460)" to="(1370,1460)"/> + <wire from="(780,1020)" to="(880,1020)"/> + <wire from="(1040,1000)" to="(1040,1010)"/> + <wire from="(1040,1520)" to="(1040,1530)"/> + <wire from="(1350,810)" to="(1350,990)"/> + <wire from="(1670,380)" to="(1670,500)"/> + <wire from="(860,700)" to="(860,1000)"/> + <wire from="(990,1460)" to="(1010,1460)"/> + <wire from="(990,1500)" to="(1010,1500)"/> + <wire from="(990,940)" to="(1010,940)"/> + <wire from="(990,980)" to="(1010,980)"/> + <wire from="(1360,980)" to="(1440,980)"/> + <wire from="(490,230)" to="(520,230)"/> + <wire from="(670,1020)" to="(690,1020)"/> + <wire from="(720,1030)" to="(740,1030)"/> + <wire from="(860,700)" to="(1010,700)"/> + <wire from="(1340,940)" to="(1340,1000)"/> + <wire from="(850,1480)" to="(1010,1480)"/> + <wire from="(1370,1040)" to="(1440,1040)"/> + <wire from="(1660,380)" to="(1670,380)"/> + <wire from="(1370,550)" to="(1370,970)"/> + <wire from="(880,960)" to="(880,1020)"/> + <wire from="(1670,520)" to="(1670,1010)"/> + <wire from="(1670,500)" to="(1690,500)"/> + <wire from="(1070,1200)" to="(1350,1200)"/> + <wire from="(1360,680)" to="(1360,980)"/> + <wire from="(780,1000)" to="(860,1000)"/> + <wire from="(1240,430)" to="(1260,430)"/> + <wire from="(1280,430)" to="(1300,430)"/> + <wire from="(990,1400)" to="(1040,1400)"/> + <wire from="(990,880)" to="(1040,880)"/> + <wire from="(1070,550)" to="(1370,550)"/> + <wire from="(1400,380)" to="(1440,380)"/> + <wire from="(1400,460)" to="(1440,460)"/> + <wire from="(1500,1100)" to="(1500,1190)"/> + <wire from="(1070,680)" to="(1360,680)"/> + <wire from="(780,1030)" to="(880,1030)"/> + <wire from="(1480,1010)" to="(1670,1010)"/> + <wire from="(1040,1130)" to="(1040,1140)"/> + <wire from="(1040,610)" to="(1040,620)"/> + <wire from="(420,310)" to="(520,310)"/> + <wire from="(1350,1020)" to="(1350,1200)"/> + <wire from="(1070,940)" to="(1340,940)"/> + <wire from="(990,1070)" to="(1010,1070)"/> + <wire from="(990,1110)" to="(1010,1110)"/> + <wire from="(990,590)" to="(1010,590)"/> + <wire from="(990,550)" to="(1010,550)"/> + <wire from="(1360,1030)" to="(1440,1030)"/> + <wire from="(510,140)" to="(540,140)"/> + <wire from="(860,1350)" to="(1010,1350)"/> + <wire from="(780,1040)" to="(870,1040)"/> + <wire from="(980,570)" to="(1010,570)"/> + <wire from="(1370,970)" to="(1440,970)"/> + <wire from="(1370,1040)" to="(1370,1460)"/> + <wire from="(780,1060)" to="(850,1060)"/> + <wire from="(1070,810)" to="(1350,810)"/> + <wire from="(1720,510)" to="(1750,510)"/> + <wire from="(780,1050)" to="(860,1050)"/> + <wire from="(1890,640)" to="(1920,640)"/> + <wire from="(990,1010)" to="(1040,1010)"/> + <wire from="(990,1530)" to="(1040,1530)"/> + <wire from="(1330,420)" to="(1440,420)"/> + <wire from="(1340,1000)" to="(1440,1000)"/> + <wire from="(1070,1330)" to="(1360,1330)"/> + <wire from="(1240,410)" to="(1300,410)"/> + <wire from="(1040,1260)" to="(1040,1270)"/> + <wire from="(1040,740)" to="(1040,750)"/> + <wire from="(1350,810)" to="(1400,810)"/> + <wire from="(1070,1070)" to="(1340,1070)"/> + <wire from="(990,1200)" to="(1010,1200)"/> + <wire from="(990,1240)" to="(1010,1240)"/> + <wire from="(990,680)" to="(1010,680)"/> + <wire from="(990,720)" to="(1010,720)"/> + <wire from="(670,1040)" to="(690,1040)"/> + <wire from="(780,1010)" to="(870,1010)"/> + <wire from="(1350,1020)" to="(1440,1020)"/> + <wire from="(880,960)" to="(1010,960)"/> + <wire from="(1670,520)" to="(1690,520)"/> + <wire from="(870,1220)" to="(1010,1220)"/> + <wire from="(870,830)" to="(870,1010)"/> + <wire from="(990,1140)" to="(1040,1140)"/> + <wire from="(990,620)" to="(1040,620)"/> + <wire from="(1340,1010)" to="(1440,1010)"/> + <wire from="(1360,680)" to="(1400,680)"/> + <wire from="(1400,400)" to="(1440,400)"/> + <wire from="(1400,440)" to="(1440,440)"/> + <wire from="(1700,530)" to="(1700,550)"/> + <wire from="(1440,1200)" to="(1480,1200)"/> + <wire from="(1460,1100)" to="(1500,1100)"/> + <wire from="(670,1110)" to="(710,1110)"/> + <wire from="(760,1070)" to="(760,1100)"/> + <wire from="(1040,1390)" to="(1040,1400)"/> + <wire from="(1040,870)" to="(1040,880)"/> + <wire from="(420,250)" to="(520,250)"/> + <wire from="(420,290)" to="(520,290)"/> + <wire from="(420,330)" to="(520,330)"/> + <wire from="(860,1050)" to="(860,1350)"/> + <wire from="(990,1330)" to="(1010,1330)"/> + <wire from="(990,1370)" to="(1010,1370)"/> + <wire from="(990,810)" to="(1010,810)"/> + <wire from="(990,850)" to="(1010,850)"/> + <wire from="(1460,1050)" to="(1460,1100)"/> + <wire from="(460,150)" to="(490,150)"/> + <wire from="(510,120)" to="(540,120)"/> + <wire from="(1340,1010)" to="(1340,1070)"/> + <wire from="(850,1060)" to="(850,1480)"/> + <wire from="(730,1100)" to="(760,1100)"/> + <wire from="(880,1030)" to="(880,1090)"/> + <wire from="(1350,990)" to="(1440,990)"/> + <wire from="(880,1090)" to="(1010,1090)"/> + <wire from="(1360,1030)" to="(1360,1330)"/> + <wire from="(870,1040)" to="(870,1220)"/> + <wire from="(870,830)" to="(1010,830)"/> + <wire from="(1890,620)" to="(1920,620)"/> <comp lib="0" loc="(1240,410)" name="Tunnel"> <a name="facing" val="east"/> <a name="label" val="EN_WR"/> @@ -2872,15 +3336,15 @@ </comp> <comp lib="0" loc="(1400,380)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="4"/> <a name="label" val="ADD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(1400,400)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1400,440)" name="Tunnel"> <a name="facing" val="east"/> @@ -2893,20 +3357,14 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1400,680)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="WHEEL_RIGHT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1400,810)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="WHEEL_LEFT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> - </comp> - <comp lib="0" loc="(1460,1100)" name="Tunnel"> - <a name="facing" val="north"/> - <a name="label" val="ADD_A"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> </comp> <comp lib="0" loc="(1700,550)" name="Tunnel"> <a name="facing" val="north"/> @@ -2914,77 +3372,77 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(1750,510)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DATA_OUT"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="DATA_OUT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1890,620)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="WHEEL_RIGHT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1890,640)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="WHEEL_LEFT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1920,620)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="WHEEL_RIGHT"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="WHEEL_RIGHT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1920,640)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="WHEEL_LEFT"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="WHEEL_LEFT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,250)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="EN_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,290)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,310)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(420,330)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="UART_BLUETOOTH"/> <a name="width" val="8"/> + <a name="label" val="UART_BLUETOOTH"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(460,150)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="ADD"/> <a name="width" val="5"/> + <a name="label" val="ADD"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(490,150)" name="Splitter"> + <a name="incoming" val="5"/> + <a name="spacing" val="2"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> <a name="bit3" val="0"/> <a name="bit4" val="1"/> - <a name="incoming" val="5"/> - <a name="spacing" val="2"/> </comp> <comp lib="0" loc="(490,230)" name="Pin"> - <a name="appearance" val="NewPins"/> - <a name="label" val="DATA_WR"/> <a name="width" val="8"/> + <a name="label" val="DATA_WR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(520,230)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(520,250)" name="Tunnel"> <a name="label" val="EN_WR"/> @@ -2999,14 +3457,14 @@ <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(520,330)" name="Tunnel"> - <a name="label" val="UART_IN"/> - <a name="labelfont" val="SansSerif bold 8"/> <a name="width" val="8"/> + <a name="label" val="UART_BLUETOOTH"/> + <a name="labelfont" val="SansSerif bold 8"/> </comp> <comp lib="0" loc="(540,120)" name="Tunnel"> + <a name="width" val="4"/> <a name="label" val="ADD"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="4"/> </comp> <comp lib="0" loc="(540,140)" name="Tunnel"> <a name="label" val="SEL"/> @@ -3022,12 +3480,6 @@ <a name="label" val="SEL"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> - <comp lib="0" loc="(760,1110)" name="Tunnel"> - <a name="facing" val="north"/> - <a name="label" val="ADD_A"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="3"/> - </comp> <comp lib="0" loc="(980,570)" name="Constant"/> <comp lib="0" loc="(990,1010)" name="Tunnel"> <a name="facing" val="east"/> @@ -3036,9 +3488,9 @@ </comp> <comp lib="0" loc="(990,1070)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,1110)" name="Tunnel"> <a name="facing" val="east"/> @@ -3052,9 +3504,9 @@ </comp> <comp lib="0" loc="(990,1200)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,1240)" name="Tunnel"> <a name="facing" val="east"/> @@ -3068,9 +3520,9 @@ </comp> <comp lib="0" loc="(990,1330)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,1370)" name="Tunnel"> <a name="facing" val="east"/> @@ -3084,9 +3536,9 @@ </comp> <comp lib="0" loc="(990,1460)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,1500)" name="Tunnel"> <a name="facing" val="east"/> @@ -3098,12 +3550,6 @@ <a name="label" val="RESET"/> <a name="labelfont" val="SansSerif bold 8"/> </comp> - <comp lib="0" loc="(990,550)" name="Tunnel"> - <a name="facing" val="east"/> - <a name="label" val="UART_BLUETOOTH"/> - <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> - </comp> <comp lib="0" loc="(990,590)" name="Tunnel"> <a name="facing" val="east"/> <a name="label" val="CLK"/> @@ -3116,9 +3562,9 @@ </comp> <comp lib="0" loc="(990,680)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,720)" name="Tunnel"> <a name="facing" val="east"/> @@ -3132,9 +3578,9 @@ </comp> <comp lib="0" loc="(990,810)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,850)" name="Tunnel"> <a name="facing" val="east"/> @@ -3148,9 +3594,9 @@ </comp> <comp lib="0" loc="(990,940)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="DATA_WR"/> <a name="labelfont" val="SansSerif bold 8"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(990,980)" name="Tunnel"> <a name="facing" val="east"/> @@ -3169,223 +3615,168 @@ <comp lib="2" loc="(1480,1010)" name="Multiplexer"> <a name="select" val="3"/> <a name="width" val="8"/> + <a name="enable" val="false"/> </comp> <comp lib="2" loc="(1720,510)" name="Multiplexer"> <a name="width" val="8"/> + <a name="enable" val="false"/> </comp> <comp lib="2" loc="(740,1030)" name="Demultiplexer"> <a name="select" val="3"/> - </comp> - <comp lib="4" loc="(1010,1040)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,1170)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,1300)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,1430)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,520)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,650)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,780)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> - <comp lib="4" loc="(1010,910)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> + <a name="enable" val="false"/> + </comp> + <comp lib="4" loc="(1010,1040)" name="Register"/> + <comp lib="4" loc="(1010,1170)" name="Register"/> + <comp lib="4" loc="(1010,1300)" name="Register"/> + <comp lib="4" loc="(1010,1430)" name="Register"/> + <comp lib="4" loc="(1010,520)" name="Register"/> + <comp lib="4" loc="(1010,650)" name="Register"/> + <comp lib="4" loc="(1010,780)" name="Register"/> + <comp lib="4" loc="(1010,910)" name="Register"/> <comp lib="6" loc="(1177,802)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="WHEEL_LEFT"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(1180,671)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="WHEEL_RIGHT"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(1191,543)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="UART BLUETOOTH"/> - </comp> - <comp lib="6" loc="(1464,1136)" name="Text"> <a name="font" val="SansSerif plain 12"/> - <a name="text" val="READ A"/> </comp> <comp loc="(1660,380)" name="CPU_RAM16"> <a name="label" val="RAM16_PROCESSOR"/> </comp> - <wire from="(1040,1000)" to="(1040,1010)"/> - <wire from="(1040,1130)" to="(1040,1140)"/> - <wire from="(1040,1260)" to="(1040,1270)"/> - <wire from="(1040,1390)" to="(1040,1400)"/> - <wire from="(1040,1520)" to="(1040,1530)"/> - <wire from="(1040,610)" to="(1040,620)"/> - <wire from="(1040,740)" to="(1040,750)"/> - <wire from="(1040,870)" to="(1040,880)"/> - <wire from="(1070,1070)" to="(1340,1070)"/> - <wire from="(1070,1200)" to="(1350,1200)"/> - <wire from="(1070,1330)" to="(1360,1330)"/> - <wire from="(1070,1460)" to="(1370,1460)"/> - <wire from="(1070,550)" to="(1370,550)"/> - <wire from="(1070,680)" to="(1360,680)"/> - <wire from="(1070,810)" to="(1350,810)"/> - <wire from="(1070,940)" to="(1340,940)"/> - <wire from="(1240,410)" to="(1300,410)"/> - <wire from="(1240,430)" to="(1260,430)"/> - <wire from="(1280,430)" to="(1300,430)"/> - <wire from="(1330,420)" to="(1440,420)"/> - <wire from="(1340,1000)" to="(1440,1000)"/> - <wire from="(1340,1010)" to="(1340,1070)"/> - <wire from="(1340,1010)" to="(1440,1010)"/> - <wire from="(1340,940)" to="(1340,1000)"/> - <wire from="(1350,1020)" to="(1350,1200)"/> - <wire from="(1350,1020)" to="(1440,1020)"/> - <wire from="(1350,810)" to="(1350,990)"/> - <wire from="(1350,810)" to="(1400,810)"/> - <wire from="(1350,990)" to="(1440,990)"/> - <wire from="(1360,1030)" to="(1360,1330)"/> - <wire from="(1360,1030)" to="(1440,1030)"/> - <wire from="(1360,680)" to="(1360,980)"/> - <wire from="(1360,680)" to="(1400,680)"/> - <wire from="(1360,980)" to="(1440,980)"/> - <wire from="(1370,1040)" to="(1370,1460)"/> - <wire from="(1370,1040)" to="(1440,1040)"/> - <wire from="(1370,550)" to="(1370,970)"/> - <wire from="(1370,970)" to="(1440,970)"/> - <wire from="(1400,380)" to="(1440,380)"/> - <wire from="(1400,400)" to="(1440,400)"/> - <wire from="(1400,440)" to="(1440,440)"/> - <wire from="(1400,460)" to="(1440,460)"/> - <wire from="(1460,1050)" to="(1460,1100)"/> - <wire from="(1480,1010)" to="(1670,1010)"/> - <wire from="(1660,380)" to="(1670,380)"/> - <wire from="(1670,380)" to="(1670,500)"/> - <wire from="(1670,500)" to="(1690,500)"/> - <wire from="(1670,520)" to="(1670,1010)"/> - <wire from="(1670,520)" to="(1690,520)"/> - <wire from="(1700,530)" to="(1700,550)"/> - <wire from="(1720,510)" to="(1750,510)"/> - <wire from="(1890,620)" to="(1920,620)"/> - <wire from="(1890,640)" to="(1920,640)"/> - <wire from="(420,250)" to="(520,250)"/> - <wire from="(420,290)" to="(520,290)"/> - <wire from="(420,310)" to="(520,310)"/> - <wire from="(420,330)" to="(520,330)"/> - <wire from="(460,150)" to="(490,150)"/> - <wire from="(490,230)" to="(520,230)"/> - <wire from="(510,120)" to="(540,120)"/> - <wire from="(510,140)" to="(540,140)"/> - <wire from="(670,1020)" to="(690,1020)"/> - <wire from="(670,1040)" to="(690,1040)"/> - <wire from="(720,1030)" to="(740,1030)"/> - <wire from="(760,1070)" to="(760,1110)"/> - <wire from="(780,1000)" to="(860,1000)"/> - <wire from="(780,1010)" to="(870,1010)"/> - <wire from="(780,1020)" to="(880,1020)"/> - <wire from="(780,1030)" to="(880,1030)"/> - <wire from="(780,1040)" to="(870,1040)"/> - <wire from="(780,1050)" to="(860,1050)"/> - <wire from="(780,1060)" to="(850,1060)"/> - <wire from="(850,1060)" to="(850,1480)"/> - <wire from="(850,1480)" to="(1010,1480)"/> - <wire from="(860,1050)" to="(860,1350)"/> - <wire from="(860,1350)" to="(1010,1350)"/> - <wire from="(860,700)" to="(1010,700)"/> - <wire from="(860,700)" to="(860,1000)"/> - <wire from="(870,1040)" to="(870,1220)"/> - <wire from="(870,1220)" to="(1010,1220)"/> - <wire from="(870,830)" to="(1010,830)"/> - <wire from="(870,830)" to="(870,1010)"/> - <wire from="(880,1030)" to="(880,1090)"/> - <wire from="(880,1090)" to="(1010,1090)"/> - <wire from="(880,960)" to="(1010,960)"/> - <wire from="(880,960)" to="(880,1020)"/> - <wire from="(980,570)" to="(1010,570)"/> - <wire from="(990,1010)" to="(1040,1010)"/> - <wire from="(990,1070)" to="(1010,1070)"/> - <wire from="(990,1110)" to="(1010,1110)"/> - <wire from="(990,1140)" to="(1040,1140)"/> - <wire from="(990,1200)" to="(1010,1200)"/> - <wire from="(990,1240)" to="(1010,1240)"/> - <wire from="(990,1270)" to="(1040,1270)"/> - <wire from="(990,1330)" to="(1010,1330)"/> - <wire from="(990,1370)" to="(1010,1370)"/> - <wire from="(990,1400)" to="(1040,1400)"/> - <wire from="(990,1460)" to="(1010,1460)"/> - <wire from="(990,1500)" to="(1010,1500)"/> - <wire from="(990,1530)" to="(1040,1530)"/> - <wire from="(990,550)" to="(1010,550)"/> - <wire from="(990,590)" to="(1010,590)"/> - <wire from="(990,620)" to="(1040,620)"/> - <wire from="(990,680)" to="(1010,680)"/> - <wire from="(990,720)" to="(1010,720)"/> - <wire from="(990,750)" to="(1040,750)"/> - <wire from="(990,810)" to="(1010,810)"/> - <wire from="(990,850)" to="(1010,850)"/> - <wire from="(990,880)" to="(1040,880)"/> - <wire from="(990,940)" to="(1010,940)"/> - <wire from="(990,980)" to="(1010,980)"/> + <comp lib="0" loc="(990,550)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="8"/> + <a name="label" val="UART_BLUETOOTH"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(670,1110)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="4"/> + <a name="label" val="ADD"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> + <comp lib="0" loc="(710,1110)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="4"/> + <a name="bit1" val="0"/> + <a name="bit2" val="0"/> + <a name="bit3" val="none"/> + </comp> + <comp lib="0" loc="(1480,1200)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="4"/> + <a name="bit1" val="0"/> + <a name="bit2" val="0"/> + <a name="bit3" val="none"/> + </comp> + <comp lib="0" loc="(1440,1200)" name="Tunnel"> + <a name="facing" val="east"/> + <a name="width" val="4"/> + <a name="label" val="ADD"/> + <a name="labelfont" val="SansSerif bold 8"/> + </comp> </circuit> <circuit name="TOP"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="TOP"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(1040,340)" to="(1090,340)"/> + <wire from="(1040,360)" to="(1090,360)"/> + <wire from="(1040,380)" to="(1090,380)"/> + <wire from="(660,340)" to="(710,340)"/> + <wire from="(660,210)" to="(660,340)"/> + <wire from="(760,380)" to="(820,380)"/> + <wire from="(590,360)" to="(820,360)"/> + <wire from="(710,340)" to="(820,340)"/> + <wire from="(270,110)" to="(310,110)"/> + <wire from="(270,130)" to="(310,130)"/> + <wire from="(270,150)" to="(310,150)"/> + <wire from="(1050,660)" to="(1100,660)"/> + <wire from="(1050,680)" to="(1100,680)"/> + <wire from="(1050,760)" to="(1100,760)"/> + <wire from="(1050,780)" to="(1100,780)"/> + <wire from="(690,560)" to="(690,580)"/> + <wire from="(590,380)" to="(760,380)"/> + <wire from="(800,440)" to="(820,440)"/> + <wire from="(710,230)" to="(710,340)"/> + <wire from="(340,340)" to="(370,340)"/> + <wire from="(340,360)" to="(370,360)"/> + <wire from="(340,380)" to="(370,380)"/> + <wire from="(340,500)" to="(370,500)"/> + <wire from="(340,520)" to="(370,520)"/> + <wire from="(340,540)" to="(370,540)"/> + <wire from="(630,540)" to="(660,540)"/> + <wire from="(790,400)" to="(820,400)"/> + <wire from="(790,420)" to="(820,420)"/> + <wire from="(800,660)" to="(830,660)"/> + <wire from="(800,680)" to="(830,680)"/> + <wire from="(800,760)" to="(830,760)"/> + <wire from="(800,780)" to="(830,780)"/> + <wire from="(800,440)" to="(800,500)"/> + <wire from="(590,340)" to="(660,340)"/> + <wire from="(590,500)" to="(660,500)"/> + <wire from="(590,520)" to="(660,520)"/> + <wire from="(760,260)" to="(760,380)"/> + <wire from="(720,500)" to="(800,500)"/> <comp lib="0" loc="(1090,340)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="RAM_OUT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1090,360)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="WHEEL_RIGHT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1090,380)" name="Tunnel"> + <a name="width" val="8"/> <a name="label" val="WHEEL_LEFT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(1100,660)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="WHEEL_RIGHT_PWM"/> <a name="output" val="true"/> + <a name="label" val="WHEEL_RIGHT_PWM"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1100,680)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DIR_WHEEL_RIGHT"/> <a name="output" val="true"/> + <a name="label" val="DIR_WHEEL_RIGHT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1100,760)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="WHEEL_LEFT_PWM"/> <a name="output" val="true"/> + <a name="label" val="WHEEL_LEFT_PWM"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1100,780)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DIR_WHEEL_LEFT"/> <a name="output" val="true"/> + <a name="label" val="DIR_WHEEL_LEFT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(270,110)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(270,130)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RESET"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(270,150)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="RX"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(310,110)" name="Tunnel"> <a name="label" val="CLK"/> @@ -3411,9 +3802,9 @@ </comp> <comp lib="0" loc="(340,380)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="RAM_OUT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(340,500)" name="Tunnel"> <a name="facing" val="east"/> @@ -3436,8 +3827,8 @@ <a name="labelfont" val="SansSerif bold 10"/> </comp> <comp lib="0" loc="(660,210)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(690,580)" name="Tunnel"> <a name="facing" val="north"/> @@ -3445,12 +3836,12 @@ <a name="labelfont" val="SansSerif bold 10"/> </comp> <comp lib="0" loc="(710,230)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(760,260)" name="Probe"> - <a name="appearance" val="NewPins"/> <a name="facing" val="south"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(790,400)" name="Tunnel"> <a name="facing" val="east"/> @@ -3464,9 +3855,9 @@ </comp> <comp lib="0" loc="(800,660)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="WHEEL_RIGHT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(800,680)" name="Tunnel"> <a name="facing" val="east"/> @@ -3475,104 +3866,162 @@ </comp> <comp lib="0" loc="(800,760)" name="Tunnel"> <a name="facing" val="east"/> + <a name="width" val="8"/> <a name="label" val="WHEEL_LEFT"/> <a name="labelfont" val="SansSerif bold 10"/> - <a name="width" val="8"/> </comp> <comp lib="0" loc="(800,780)" name="Tunnel"> <a name="facing" val="east"/> <a name="label" val="CLK"/> <a name="labelfont" val="SansSerif bold 10"/> </comp> - <comp lib="4" loc="(660,470)" name="Register"> - <a name="appearance" val="logisim_evolution"/> - </comp> + <comp lib="4" loc="(660,470)" name="Register"/> <comp lib="6" loc="(916,275)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="BAS - 0x42"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(920,258)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="HAUT - 0x41"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(926,294)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="DROITE - 0x43"/> + <a name="font" val="SansSerif plain 12"/> </comp> <comp lib="6" loc="(928,312)" name="Text"> - <a name="font" val="SansSerif plain 12"/> <a name="text" val="GAUCHE - 0x44"/> + <a name="font" val="SansSerif plain 12"/> + </comp> + <comp loc="(1040,340)" name="CPU_RAM24"> + <a name="label" val="CPU_RAM"/> </comp> - <comp loc="(1040,340)" name="CPU_RAM24"/> <comp loc="(1050,660)" name="PERI_SIGNED_PWM"> <a name="label" val="WHEEL_RIGHT"/> </comp> <comp loc="(1050,760)" name="PERI_SIGNED_PWM"> <a name="label" val="WHEEL_LEFT"/> </comp> - <comp loc="(590,340)" name="CPU"/> - <comp loc="(590,500)" name="PERI_UART_RCV_115200"/> - <wire from="(1040,340)" to="(1090,340)"/> - <wire from="(1040,360)" to="(1090,360)"/> - <wire from="(1040,380)" to="(1090,380)"/> - <wire from="(1050,660)" to="(1100,660)"/> - <wire from="(1050,680)" to="(1100,680)"/> - <wire from="(1050,760)" to="(1100,760)"/> - <wire from="(1050,780)" to="(1100,780)"/> - <wire from="(270,110)" to="(310,110)"/> - <wire from="(270,130)" to="(310,130)"/> - <wire from="(270,150)" to="(310,150)"/> - <wire from="(340,340)" to="(370,340)"/> - <wire from="(340,360)" to="(370,360)"/> - <wire from="(340,380)" to="(370,380)"/> - <wire from="(340,500)" to="(370,500)"/> - <wire from="(340,520)" to="(370,520)"/> - <wire from="(340,540)" to="(370,540)"/> - <wire from="(590,340)" to="(660,340)"/> - <wire from="(590,360)" to="(820,360)"/> - <wire from="(590,380)" to="(760,380)"/> - <wire from="(590,500)" to="(660,500)"/> - <wire from="(590,520)" to="(660,520)"/> - <wire from="(630,540)" to="(660,540)"/> - <wire from="(660,210)" to="(660,340)"/> - <wire from="(660,340)" to="(710,340)"/> - <wire from="(690,560)" to="(690,580)"/> - <wire from="(710,230)" to="(710,340)"/> - <wire from="(710,340)" to="(820,340)"/> - <wire from="(720,500)" to="(800,500)"/> - <wire from="(760,260)" to="(760,380)"/> - <wire from="(760,380)" to="(820,380)"/> - <wire from="(790,400)" to="(820,400)"/> - <wire from="(790,420)" to="(820,420)"/> - <wire from="(800,440)" to="(800,500)"/> - <wire from="(800,440)" to="(820,440)"/> - <wire from="(800,660)" to="(830,660)"/> - <wire from="(800,680)" to="(830,680)"/> - <wire from="(800,760)" to="(830,760)"/> - <wire from="(800,780)" to="(830,780)"/> + <comp loc="(590,340)" name="CPU"> + <a name="label" val="CPU_1"/> + </comp> + <comp loc="(590,500)" name="PERI_UART_RCV_115200"> + <a name="label" val="UART"/> + </comp> </circuit> <circuit name="PERI_UART_RCV_115200"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="PERI_UART_RCV_115200"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(730,270)" to="(730,280)"/> + <wire from="(570,430)" to="(570,440)"/> + <wire from="(730,250)" to="(780,250)"/> + <wire from="(730,270)" to="(780,270)"/> + <wire from="(910,480)" to="(970,480)"/> + <wire from="(350,550)" to="(350,560)"/> + <wire from="(300,170)" to="(600,170)"/> + <wire from="(800,450)" to="(840,450)"/> + <wire from="(750,290)" to="(750,320)"/> + <wire from="(910,320)" to="(950,320)"/> + <wire from="(350,420)" to="(460,420)"/> + <wire from="(580,540)" to="(580,560)"/> + <wire from="(210,360)" to="(210,580)"/> + <wire from="(740,220)" to="(740,240)"/> + <wire from="(740,280)" to="(740,300)"/> + <wire from="(350,420)" to="(350,520)"/> + <wire from="(760,300)" to="(760,340)"/> + <wire from="(910,320)" to="(910,430)"/> + <wire from="(580,130)" to="(600,130)"/> + <wire from="(590,480)" to="(610,480)"/> + <wire from="(210,250)" to="(430,250)"/> + <wire from="(460,260)" to="(460,420)"/> + <wire from="(330,560)" to="(350,560)"/> + <wire from="(720,200)" to="(750,200)"/> + <wire from="(720,320)" to="(750,320)"/> + <wire from="(750,230)" to="(780,230)"/> + <wire from="(750,290)" to="(780,290)"/> + <wire from="(210,140)" to="(210,250)"/> + <wire from="(460,420)" to="(610,420)"/> + <wire from="(810,410)" to="(840,410)"/> + <wire from="(590,360)" to="(590,480)"/> + <wire from="(300,560)" to="(310,560)"/> + <wire from="(580,130)" to="(580,380)"/> + <wire from="(230,110)" to="(230,420)"/> + <wire from="(210,580)" to="(350,580)"/> + <wire from="(930,610)" to="(940,610)"/> + <wire from="(720,240)" to="(730,240)"/> + <wire from="(720,280)" to="(730,280)"/> + <wire from="(560,440)" to="(570,440)"/> + <wire from="(580,540)" to="(590,540)"/> + <wire from="(910,430)" to="(910,480)"/> + <wire from="(300,200)" to="(360,200)"/> + <wire from="(730,240)" to="(730,250)"/> + <wire from="(210,360)" to="(590,360)"/> + <wire from="(90,140)" to="(210,140)"/> + <wire from="(180,170)" to="(300,170)"/> + <wire from="(230,420)" to="(350,420)"/> + <wire from="(180,110)" to="(230,110)"/> + <wire from="(410,180)" to="(410,190)"/> + <wire from="(230,110)" to="(600,110)"/> + <wire from="(310,560)" to="(310,570)"/> + <wire from="(720,260)" to="(780,260)"/> + <wire from="(550,610)" to="(590,610)"/> + <wire from="(560,120)" to="(600,120)"/> + <wire from="(570,430)" to="(610,430)"/> + <wire from="(590,360)" to="(950,360)"/> + <wire from="(580,380)" to="(580,470)"/> + <wire from="(810,380)" to="(810,410)"/> + <wire from="(580,380)" to="(810,380)"/> + <wire from="(720,340)" to="(760,340)"/> + <wire from="(740,240)" to="(780,240)"/> + <wire from="(740,280)" to="(780,280)"/> + <wire from="(800,220)" to="(840,220)"/> + <wire from="(750,200)" to="(750,230)"/> + <wire from="(570,520)" to="(570,550)"/> + <wire from="(490,180)" to="(490,210)"/> + <wire from="(300,170)" to="(300,200)"/> + <wire from="(310,570)" to="(350,570)"/> + <wire from="(580,470)" to="(580,490)"/> + <wire from="(590,520)" to="(590,540)"/> + <wire from="(880,520)" to="(880,600)"/> + <wire from="(880,600)" to="(900,600)"/> + <wire from="(890,430)" to="(910,430)"/> + <wire from="(550,550)" to="(570,550)"/> + <wire from="(370,220)" to="(400,220)"/> + <wire from="(720,220)" to="(740,220)"/> + <wire from="(720,300)" to="(740,300)"/> + <wire from="(760,300)" to="(780,300)"/> + <wire from="(490,210)" to="(510,210)"/> + <wire from="(580,470)" to="(610,470)"/> + <wire from="(1010,320)" to="(1040,320)"/> + <wire from="(210,250)" to="(210,360)"/> + <wire from="(800,510)" to="(830,510)"/> + <wire from="(390,200)" to="(400,200)"/> + <wire from="(330,220)" to="(340,220)"/> + <wire from="(340,530)" to="(350,530)"/> + <wire from="(410,180)" to="(490,180)"/> + <wire from="(210,140)" to="(600,140)"/> + <wire from="(820,530)" to="(830,530)"/> + <wire from="(630,620)" to="(900,620)"/> + <wire from="(870,520)" to="(880,520)"/> + <wire from="(600,450)" to="(610,450)"/> <comp lib="0" loc="(1040,320)" name="Pin"> - <a name="appearance" val="classic"/> <a name="facing" val="west"/> - <a name="label" val="DONE"/> <a name="output" val="true"/> + <a name="label" val="DONE"/> </comp> <comp lib="0" loc="(180,110)" name="Pin"> - <a name="appearance" val="classic"/> <a name="label" val="RESET"/> </comp> <comp lib="0" loc="(180,170)" name="Pin"> - <a name="appearance" val="classic"/> <a name="label" val="RX"/> </comp> <comp lib="0" loc="(180,700)" name="Constant"> - <a name="value" val="0x28aa"/> <a name="width" val="16"/> + <a name="value" val="0x28aa"/> </comp> <comp lib="0" loc="(300,560)" name="Tunnel"> <a name="facing" val="east"/> @@ -3588,8 +4037,8 @@ <a name="label" val="half"/> </comp> <comp lib="0" loc="(350,610)" name="Constant"> - <a name="value" val="0x0"/> <a name="width" val="16"/> + <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(510,210)" name="Tunnel"> <a name="label" val="state"/> @@ -3604,15 +4053,18 @@ <a name="label" val="half"/> </comp> <comp lib="0" loc="(590,630)" name="Constant"> - <a name="value" val="0x1b2"/> <a name="width" val="16"/> + <a name="value" val="0x1b2"/> </comp> <comp lib="0" loc="(600,450)" name="Power"/> <comp lib="0" loc="(610,510)" name="Constant"> - <a name="value" val="0x0"/> <a name="width" val="4"/> + <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(800,220)" name="Splitter"> + <a name="facing" val="west"/> + <a name="fanout" val="8"/> + <a name="incoming" val="8"/> <a name="bit0" val="7"/> <a name="bit1" val="6"/> <a name="bit2" val="5"/> @@ -3621,23 +4073,18 @@ <a name="bit5" val="2"/> <a name="bit6" val="1"/> <a name="bit7" val="0"/> - <a name="facing" val="west"/> - <a name="fanout" val="8"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(820,530)" name="Constant"> - <a name="value" val="0x0"/> <a name="width" val="4"/> + <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(840,220)" name="Pin"> - <a name="appearance" val="classic"/> <a name="facing" val="west"/> - <a name="label" val="DATA"/> <a name="output" val="true"/> <a name="width" val="8"/> + <a name="label" val="DATA"/> </comp> <comp lib="0" loc="(90,140)" name="Pin"> - <a name="appearance" val="classic"/> <a name="label" val="CLK"/> </comp> <comp lib="0" loc="(940,610)" name="Tunnel"> @@ -3666,142 +4113,81 @@ <a name="width" val="4"/> </comp> <comp lib="4" loc="(350,500)" name="Counter"> - <a name="appearance" val="logisim_evolution"/> - <a name="max" val="0x364"/> <a name="width" val="16"/> + <a name="max" val="0x364"/> + <a name="appearance" val="logisim_evolution"/> </comp> <comp lib="4" loc="(440,200)" name="D Flip-Flop"> <a name="appearance" val="logisim_evolution"/> </comp> <comp lib="4" loc="(600,90)" name="Shift Register"> - <a name="appearance" val="logisim_evolution"/> <a name="length" val="9"/> + <a name="appearance" val="logisim_evolution"/> </comp> <comp lib="4" loc="(610,400)" name="Counter"> - <a name="appearance" val="logisim_evolution"/> - <a name="max" val="0x9"/> <a name="width" val="4"/> + <a name="max" val="0x9"/> + <a name="appearance" val="logisim_evolution"/> </comp> <comp lib="4" loc="(960,310)" name="D Flip-Flop"> <a name="appearance" val="logisim_evolution"/> </comp> - <wire from="(1010,320)" to="(1040,320)"/> - <wire from="(180,110)" to="(230,110)"/> - <wire from="(180,170)" to="(300,170)"/> - <wire from="(210,140)" to="(210,250)"/> - <wire from="(210,140)" to="(600,140)"/> - <wire from="(210,250)" to="(210,360)"/> - <wire from="(210,250)" to="(430,250)"/> - <wire from="(210,360)" to="(210,580)"/> - <wire from="(210,360)" to="(590,360)"/> - <wire from="(210,580)" to="(350,580)"/> - <wire from="(230,110)" to="(230,420)"/> - <wire from="(230,110)" to="(600,110)"/> - <wire from="(230,420)" to="(350,420)"/> - <wire from="(300,170)" to="(300,200)"/> - <wire from="(300,170)" to="(600,170)"/> - <wire from="(300,200)" to="(360,200)"/> - <wire from="(300,560)" to="(310,560)"/> - <wire from="(310,560)" to="(310,570)"/> - <wire from="(310,570)" to="(350,570)"/> - <wire from="(330,220)" to="(340,220)"/> - <wire from="(330,560)" to="(350,560)"/> - <wire from="(340,530)" to="(350,530)"/> - <wire from="(350,420)" to="(350,520)"/> - <wire from="(350,420)" to="(460,420)"/> - <wire from="(350,550)" to="(350,560)"/> - <wire from="(370,220)" to="(400,220)"/> - <wire from="(390,200)" to="(400,200)"/> - <wire from="(410,180)" to="(410,190)"/> - <wire from="(410,180)" to="(490,180)"/> - <wire from="(460,260)" to="(460,420)"/> - <wire from="(460,420)" to="(610,420)"/> - <wire from="(490,180)" to="(490,210)"/> - <wire from="(490,210)" to="(510,210)"/> - <wire from="(550,550)" to="(570,550)"/> - <wire from="(550,610)" to="(590,610)"/> - <wire from="(560,120)" to="(600,120)"/> - <wire from="(560,440)" to="(570,440)"/> - <wire from="(570,430)" to="(570,440)"/> - <wire from="(570,430)" to="(610,430)"/> - <wire from="(570,520)" to="(570,550)"/> - <wire from="(580,130)" to="(580,380)"/> - <wire from="(580,130)" to="(600,130)"/> - <wire from="(580,380)" to="(580,470)"/> - <wire from="(580,380)" to="(810,380)"/> - <wire from="(580,470)" to="(580,490)"/> - <wire from="(580,470)" to="(610,470)"/> - <wire from="(580,540)" to="(580,560)"/> - <wire from="(580,540)" to="(590,540)"/> - <wire from="(590,360)" to="(590,480)"/> - <wire from="(590,360)" to="(950,360)"/> - <wire from="(590,480)" to="(610,480)"/> - <wire from="(590,520)" to="(590,540)"/> - <wire from="(600,450)" to="(610,450)"/> - <wire from="(630,620)" to="(900,620)"/> - <wire from="(720,200)" to="(750,200)"/> - <wire from="(720,220)" to="(740,220)"/> - <wire from="(720,240)" to="(730,240)"/> - <wire from="(720,260)" to="(780,260)"/> - <wire from="(720,280)" to="(730,280)"/> - <wire from="(720,300)" to="(740,300)"/> - <wire from="(720,320)" to="(750,320)"/> - <wire from="(720,340)" to="(760,340)"/> - <wire from="(730,240)" to="(730,250)"/> - <wire from="(730,250)" to="(780,250)"/> - <wire from="(730,270)" to="(730,280)"/> - <wire from="(730,270)" to="(780,270)"/> - <wire from="(740,220)" to="(740,240)"/> - <wire from="(740,240)" to="(780,240)"/> - <wire from="(740,280)" to="(740,300)"/> - <wire from="(740,280)" to="(780,280)"/> - <wire from="(750,200)" to="(750,230)"/> - <wire from="(750,230)" to="(780,230)"/> - <wire from="(750,290)" to="(750,320)"/> - <wire from="(750,290)" to="(780,290)"/> - <wire from="(760,300)" to="(760,340)"/> - <wire from="(760,300)" to="(780,300)"/> - <wire from="(800,220)" to="(840,220)"/> - <wire from="(800,450)" to="(840,450)"/> - <wire from="(800,510)" to="(830,510)"/> - <wire from="(810,380)" to="(810,410)"/> - <wire from="(810,410)" to="(840,410)"/> - <wire from="(820,530)" to="(830,530)"/> - <wire from="(870,520)" to="(880,520)"/> - <wire from="(880,520)" to="(880,600)"/> - <wire from="(880,600)" to="(900,600)"/> - <wire from="(890,430)" to="(910,430)"/> - <wire from="(90,140)" to="(210,140)"/> - <wire from="(910,320)" to="(910,430)"/> - <wire from="(910,320)" to="(950,320)"/> - <wire from="(910,430)" to="(910,480)"/> - <wire from="(910,480)" to="(970,480)"/> - <wire from="(930,610)" to="(940,610)"/> </circuit> <circuit name="PERI_SIGNED_PWM"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="PERI_SIGNED_PWM"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(730,270)" to="(780,270)"/> + <wire from="(940,310)" to="(940,380)"/> + <wire from="(710,290)" to="(710,380)"/> + <wire from="(710,380)" to="(940,380)"/> + <wire from="(880,270)" to="(980,270)"/> + <wire from="(550,320)" to="(550,350)"/> + <wire from="(940,290)" to="(980,290)"/> + <wire from="(940,310)" to="(980,310)"/> + <wire from="(790,230)" to="(790,250)"/> + <wire from="(810,230)" to="(810,250)"/> + <wire from="(470,260)" to="(700,260)"/> + <wire from="(430,260)" to="(470,260)"/> + <wire from="(490,370)" to="(530,370)"/> + <wire from="(470,260)" to="(470,360)"/> + <wire from="(490,380)" to="(710,380)"/> + <wire from="(600,340)" to="(620,340)"/> + <wire from="(660,330)" to="(680,330)"/> + <wire from="(680,280)" to="(700,280)"/> + <wire from="(590,320)" to="(620,320)"/> + <wire from="(1200,270)" to="(1230,270)"/> + <wire from="(1200,290)" to="(1230,290)"/> + <wire from="(880,210)" to="(880,270)"/> + <wire from="(810,210)" to="(880,210)"/> + <wire from="(680,280)" to="(680,330)"/> + <wire from="(800,230)" to="(810,230)"/> + <wire from="(520,360)" to="(530,360)"/> + <wire from="(550,320)" to="(560,320)"/> <comp lib="0" loc="(1230,270)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="PWM_OUT"/> <a name="output" val="true"/> + <a name="label" val="PWM_OUT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1230,290)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DIR_OUT"/> <a name="output" val="true"/> + <a name="label" val="DIR_OUT"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(430,260)" name="Pin"> - <a name="appearance" val="NewPins"/> + <a name="width" val="8"/> <a name="label" val="SPEED_IN"/> <a name="radix" val="10signed"/> - <a name="width" val="8"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(470,360)" name="Splitter"> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> @@ -3810,12 +4196,13 @@ <a name="bit5" val="0"/> <a name="bit6" val="0"/> <a name="bit7" val="1"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(520,360)" name="Constant"> <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(550,350)" name="Splitter"> + <a name="facing" val="west"/> + <a name="incoming" val="8"/> <a name="bit0" val="1"/> <a name="bit2" val="1"/> <a name="bit3" val="1"/> @@ -3823,13 +4210,14 @@ <a name="bit5" val="1"/> <a name="bit6" val="1"/> <a name="bit7" val="0"/> - <a name="facing" val="west"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(600,340)" name="Constant"> <a name="width" val="8"/> </comp> <comp lib="0" loc="(780,270)" name="Splitter"> + <a name="facing" val="north"/> + <a name="fanout" val="1"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit1" val="0"/> <a name="bit2" val="0"/> @@ -3838,11 +4226,10 @@ <a name="bit5" val="0"/> <a name="bit6" val="0"/> <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="(810,210)" name="Splitter"> + <a name="facing" val="south"/> + <a name="incoming" val="8"/> <a name="appear" val="right"/> <a name="bit2" val="1"/> <a name="bit3" val="1"/> @@ -3850,77 +4237,70 @@ <a name="bit5" val="1"/> <a name="bit6" val="1"/> <a name="bit7" val="1"/> - <a name="facing" val="south"/> - <a name="incoming" val="8"/> </comp> <comp lib="0" loc="(810,250)" name="Constant"> <a name="facing" val="north"/> <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(940,290)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="1" loc="(590,320)" name="NOT Gate"> <a name="width" val="8"/> </comp> <comp lib="2" loc="(730,270)" name="Multiplexer"> <a name="width" val="8"/> + <a name="enable" val="false"/> </comp> <comp lib="3" loc="(660,330)" name="Adder"/> - <comp loc="(1200,270)" name="PERI_PWM"/> - <wire from="(1200,270)" to="(1230,270)"/> - <wire from="(1200,290)" to="(1230,290)"/> - <wire from="(430,260)" to="(470,260)"/> - <wire from="(470,260)" to="(470,360)"/> - <wire from="(470,260)" to="(700,260)"/> - <wire from="(490,370)" to="(530,370)"/> - <wire from="(490,380)" to="(710,380)"/> - <wire from="(520,360)" to="(530,360)"/> - <wire from="(550,320)" to="(550,350)"/> - <wire from="(550,320)" to="(560,320)"/> - <wire from="(590,320)" to="(620,320)"/> - <wire from="(600,340)" to="(620,340)"/> - <wire from="(660,330)" to="(680,330)"/> - <wire from="(680,280)" to="(680,330)"/> - <wire from="(680,280)" to="(700,280)"/> - <wire from="(710,290)" to="(710,380)"/> - <wire from="(710,380)" to="(940,380)"/> - <wire from="(730,270)" to="(780,270)"/> - <wire from="(790,230)" to="(790,250)"/> - <wire from="(800,230)" to="(810,230)"/> - <wire from="(810,210)" to="(880,210)"/> - <wire from="(810,230)" to="(810,250)"/> - <wire from="(880,210)" to="(880,270)"/> - <wire from="(880,270)" to="(980,270)"/> - <wire from="(940,290)" to="(980,290)"/> - <wire from="(940,310)" to="(940,380)"/> - <wire from="(940,310)" to="(980,310)"/> + <comp loc="(1200,270)" name="PERI_PWM"> + <a name="label" val="PERI"/> + </comp> </circuit> <circuit name="PERI_PWM"> - <a name="appearance" val="logisim_evolution"/> <a name="circuit" val="PERI_PWM"/> + <a name="clabel" val=""/> + <a name="clabelup" val="east"/> + <a name="clabelfont" val="SansSerif bold 16"/> + <a name="appearance" val="logisim_evolution"/> <a name="circuitnamedboxfixedsize" val="true"/> - <a name="simulationFrequency" val="1.0"/> + <a name="circuitvhdlpath" val=""/> + <wire from="(610,390)" to="(760,390)"/> + <wire from="(610,440)" to="(1110,440)"/> + <wire from="(630,330)" to="(650,330)"/> + <wire from="(630,350)" to="(650,350)"/> + <wire from="(780,340)" to="(830,340)"/> + <wire from="(720,350)" to="(750,350)"/> + <wire from="(850,350)" to="(1010,350)"/> + <wire from="(980,370)" to="(1010,370)"/> + <wire from="(690,340)" to="(750,340)"/> + <wire from="(830,280)" to="(830,340)"/> + <wire from="(630,280)" to="(830,280)"/> + <wire from="(1050,370)" to="(1110,370)"/> + <wire from="(760,360)" to="(760,390)"/> + <wire from="(770,360)" to="(770,410)"/> + <wire from="(630,280)" to="(630,330)"/> + <wire from="(760,410)" to="(770,410)"/> <comp lib="0" loc="(1110,370)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="SIG"/> <a name="output" val="true"/> + <a name="label" val="SIG"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(1110,440)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="facing" val="west"/> - <a name="label" val="DIR"/> <a name="output" val="true"/> + <a name="label" val="DIR"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(610,390)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="CLK"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(610,440)" name="Pin"> - <a name="appearance" val="NewPins"/> <a name="label" val="DIR_IN"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="0" loc="(630,350)" name="Constant"> <a name="width" val="10"/> @@ -3930,6 +4310,8 @@ <a name="value" val="0x0"/> </comp> <comp lib="0" loc="(830,340)" name="Splitter"> + <a name="fanout" val="1"/> + <a name="incoming" val="10"/> <a name="appear" val="right"/> <a name="bit0" val="none"/> <a name="bit1" val="none"/> @@ -3941,14 +4323,12 @@ <a name="bit7" val="0"/> <a name="bit8" val="0"/> <a name="bit9" val="0"/> - <a name="fanout" val="1"/> - <a name="incoming" val="10"/> </comp> <comp lib="0" loc="(980,370)" name="Pin"> - <a name="appearance" val="NewPins"/> + <a name="width" val="8"/> <a name="label" val="speed"/> <a name="radix" val="10unsigned"/> - <a name="width" val="8"/> + <a name="appearance" val="NewPins"/> </comp> <comp lib="3" loc="(1050,360)" name="Comparator"> <a name="mode" val="unsigned"/> @@ -3957,24 +4337,8 @@ <a name="width" val="10"/> </comp> <comp lib="4" loc="(780,340)" name="Register"> - <a name="appearance" val="classic"/> <a name="width" val="10"/> + <a name="appearance" val="classic"/> </comp> - <wire from="(1050,370)" to="(1110,370)"/> - <wire from="(610,390)" to="(760,390)"/> - <wire from="(610,440)" to="(1110,440)"/> - <wire from="(630,280)" to="(630,330)"/> - <wire from="(630,280)" to="(830,280)"/> - <wire from="(630,330)" to="(650,330)"/> - <wire from="(630,350)" to="(650,350)"/> - <wire from="(690,340)" to="(750,340)"/> - <wire from="(720,350)" to="(750,350)"/> - <wire from="(760,360)" to="(760,390)"/> - <wire from="(760,410)" to="(770,410)"/> - <wire from="(770,360)" to="(770,410)"/> - <wire from="(780,340)" to="(830,340)"/> - <wire from="(830,280)" to="(830,340)"/> - <wire from="(850,350)" to="(1010,350)"/> - <wire from="(980,370)" to="(1010,370)"/> </circuit> </project> diff --git a/CPU/logi_compiler_sources/__pycache__/circ_manager.cpython-38.pyc b/CPU/logi_compiler_sources/__pycache__/circ_manager.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2b6172ca7cf11f8cd6bc5de9038b0b9e87ee3bce Binary files /dev/null and b/CPU/logi_compiler_sources/__pycache__/circ_manager.cpython-38.pyc differ diff --git a/CPU/logi_compiler_sources/instructions.circ b/CPU/logi_compiler_sources/instructions.circ index 0c9c8752f00806fe6a80e400416ae90b95013782..cc1fc909115a491ed32b7b4e35daeced8c500650 100644 --- a/CPU/logi_compiler_sources/instructions.circ +++ b/CPU/logi_compiler_sources/instructions.circ @@ -933,11 +933,11 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/). </comp> <comp lib="0" loc="(260, 180)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1010100000001011"/> + <a name="value" val="0b1010100000000010"/> </comp> <comp lib="0" loc="(300, 190)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000010001100001"/> + <a name="value" val="0b1110111000010010"/> </comp> <comp lib="0" loc="(260, 200)" name="Constant"> <a name="width" val="16"/> @@ -945,55 +945,55 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/). </comp> <comp lib="0" loc="(300, 210)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1010100000001110"/> + <a name="value" val="0b1010100000000010"/> </comp> <comp lib="0" loc="(260, 220)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000010001100100"/> + <a name="value" val="0b1110111000011000"/> </comp> <comp lib="0" loc="(300, 230)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b0001011001010000"/> + <a name="value" val="0b1000010001100100"/> </comp> <comp lib="0" loc="(260, 240)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1010100000001000"/> + <a name="value" val="0b0001011001010000"/> </comp> <comp lib="0" loc="(300, 250)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000010001100100"/> + <a name="value" val="0b1010100000000010"/> </comp> <comp lib="0" loc="(260, 260)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b0001011001010000"/> + <a name="value" val="0b1110111000010101"/> </comp> <comp lib="0" loc="(300, 270)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1010100000001000"/> + <a name="value" val="0b1000010001100100"/> </comp> <comp lib="0" loc="(260, 280)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1011111111110010"/> + <a name="value" val="0b0001011001010000"/> </comp> <comp lib="0" loc="(300, 290)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000100001100100"/> + <a name="value" val="0b1010100000000010"/> </comp> <comp lib="0" loc="(260, 300)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000101001100100"/> + <a name="value" val="0b1110111000011000"/> </comp> <comp lib="0" loc="(300, 310)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1111111000000000"/> + <a name="value" val="0b1011111111101111"/> </comp> <comp lib="0" loc="(260, 320)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000100010011100"/> + <a name="value" val="0b1000100001100100"/> </comp> <comp lib="0" loc="(300, 330)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000101010011100"/> + <a name="value" val="0b1000101001100100"/> </comp> <comp lib="0" loc="(260, 340)" name="Constant"> <a name="width" val="16"/> @@ -1001,11 +1001,11 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/). </comp> <comp lib="0" loc="(300, 350)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000100000110010"/> + <a name="value" val="0b1000100010011100"/> </comp> <comp lib="0" loc="(260, 360)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000101011001110"/> + <a name="value" val="0b1000101010011100"/> </comp> <comp lib="0" loc="(300, 370)" name="Constant"> <a name="width" val="16"/> @@ -1013,16 +1013,28 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/). </comp> <comp lib="0" loc="(260, 380)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000100011001110"/> + <a name="value" val="0b1000100000110010"/> </comp> <comp lib="0" loc="(300, 390)" name="Constant"> <a name="width" val="16"/> - <a name="value" val="0b1000101000110010"/> + <a name="value" val="0b1000101011001110"/> </comp> <comp lib="0" loc="(260, 400)" name="Constant"> <a name="width" val="16"/> <a name="value" val="0b1111111000000000"/> </comp> + <comp lib="0" loc="(300, 410)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0b1000100011001110"/> + </comp> + <comp lib="0" loc="(260, 420)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0b1000101000110010"/> + </comp> + <comp lib="0" loc="(300, 430)" name="Constant"> + <a name="width" val="16"/> + <a name="value" val="0b1111111000000000"/> + </comp> </circuit> diff --git a/CPU/logi_compiler_sources/prog.lsn b/CPU/logi_compiler_sources/prog.lsn index b7ee6cf5c34cd906c81b68139eaf89a431118563..60c43522ccc3f54e2283235496442f2e7f2fafcf 100644 --- a/CPU/logi_compiler_sources/prog.lsn +++ b/CPU/logi_compiler_sources/prog.lsn @@ -39,67 +39,68 @@ loop: # SET ADDR TO READ UART r0 = 0x10 -# LOAD UART VALUE FROM RAM TO r1 -ld r1,0[r0] +# LOAD UART VALUE FROM RAM TO r1 +ld r1,0[r0] -# r2 and r3 IS A TEMP BUFFER TO CHECK VALUE +# r2 and r3 IS A TEMP BUFFER TO CHECK # CHECK FOR W r2 = 0x77 r3 = r1 - r2 # IF THE UART IN == 'w' , GO FORWARD -bcz goforward +bcz 2 +bl [r7] goforward # CHECK FOR A -r2 = 0x61 r3 = r1 - r2 # IF THE UART IN == 'a' , GO LEFT -bcz goleft +bcz 2 +bl [r7] goleft + # CHECK FOR S r2 = 0x64 r3 = r1 - r2 # IF THE UART IN == 's' , GO BACKWARD -bcz gobackward +bcz 2 +bl [r7] gobackward + # CHECK FOR d r2 = 0x64 r3 = r1 - r2 # IF THE UART IN == 'd' , GO RIGHT -bcz goleft +bcz 2 +bl [r7] goleft # BRANCH LOOP - GET BACK UP TO LOOP LABEL b loop - - - # ############# FONCTIONS MOVEMENTS ############ -# r4 FOR PWM RIGHT +# r4 FOR PWM RIGHT # r5 FOR PWM LEFT # FONCTION TO SET REGS AT FORWARD goforward: r4 = 100 r5 = 100 +br[r7] # FONCTION TO SET REGS AT FORWARD gobackward: r4 = 0x9C r5 = 0x9C +br[r7] # FONCTION TO SET REGS AT FORWARD goleft: r4 = 50 r5 = 0xCE +br[r7] # FONCTION TO SET REGS AT FORWARD goright: r4 = 0xCE r5 = 50 -# ################################################ - - - - - +br[r7] +# ################################################