Initial commit
This commit is contained in:
commit
b1cea49c07
1 changed files with 808 additions and 0 deletions
808
zcpu.circ
Normal file
808
zcpu.circ
Normal file
|
@ -0,0 +1,808 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.8.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.8.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
</tool>
|
||||
<tool name="Constant">
|
||||
<a name="value" val="0x0"/>
|
||||
<a name="width" val="2"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6"/>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(1020,180)" name="Splitter">
|
||||
<a name="appear" val="right"/>
|
||||
<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="facing" val="north"/>
|
||||
<a name="incoming" val="8"/>
|
||||
<a name="spacing" val="5"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1020,180)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_A"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,1040)" name="Tunnel">
|
||||
<a name="label" val="MBR_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,1110)" name="Tunnel">
|
||||
<a name="label" val="IR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,630)" name="Tunnel">
|
||||
<a name="label" val="PC_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,700)" name="Tunnel">
|
||||
<a name="label" val="MAR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,800)" name="Tunnel">
|
||||
<a name="label" val="LATCH_PC"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,900)" name="Tunnel">
|
||||
<a name="label" val="MEM_R"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,970)" name="Tunnel">
|
||||
<a name="label" val="MBR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,310)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="A_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,340)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MAR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,370)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="CLK"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,450)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_D"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,480)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MBR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1150,510)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="CLK"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1180,190)" name="Splitter">
|
||||
<a name="appear" val="right"/>
|
||||
<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="facing" val="north"/>
|
||||
<a name="incoming" val="8"/>
|
||||
<a name="spacing" val="5"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1180,190)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_D"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1290,320)" name="Tunnel">
|
||||
<a name="label" val="MEM_A"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1390,380)" name="Tunnel">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="MBR_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1390,490)" name="Tunnel">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="label" val="MEM_D_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1410,60)" name="Ground"/>
|
||||
<comp lib="0" loc="(1410,60)" name="Tunnel">
|
||||
<a name="label" val="SEL_PC_LOAD"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1410,60)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1430,410)" name="Tunnel">
|
||||
<a name="label" val="D_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1430,460)" name="Tunnel">
|
||||
<a name="label" val="MEM_D"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1450,120)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1450,150)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_R"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1530,560)" name="Ground"/>
|
||||
<comp lib="0" loc="(1530,560)" name="Tunnel">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="label" val="MEM_D_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1590,100)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="MEM_A"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1890,170)" name="Tunnel">
|
||||
<a name="label" val="MEM_D"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(400,790)" name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(400,830)" name="Clock"/>
|
||||
<comp lib="0" loc="(450,760)" name="Tunnel">
|
||||
<a name="label" val="CLK"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(520,540)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="SEL_PC_LOAD"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(520,570)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="LATCH_PC"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(590,550)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(650,290)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="D_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(650,340)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="IR_W"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,320)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,790)" name="Tunnel">
|
||||
<a name="label" val="PH_0"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,820)" name="Tunnel">
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,850)" name="Tunnel">
|
||||
<a name="label" val="PH_2"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,880)" name="Tunnel">
|
||||
<a name="label" val="PH_3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,910)" name="Tunnel">
|
||||
<a name="label" val="PH_4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(700,510)" name="Constant">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(710,180)" name="Splitter">
|
||||
<a name="appear" val="right"/>
|
||||
<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="facing" val="north"/>
|
||||
<a name="incoming" val="8"/>
|
||||
<a name="spacing" val="5"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(710,180)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="A_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(740,600)" name="Tunnel">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="label" val="PC_BUF"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(780,570)" name="Tunnel">
|
||||
<a name="label" val="A_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(860,180)" name="Splitter">
|
||||
<a name="appear" val="right"/>
|
||||
<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="facing" val="north"/>
|
||||
<a name="incoming" val="8"/>
|
||||
<a name="spacing" val="5"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(860,180)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="D_BUS"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,1020)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,1090)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,610)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_0"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,680)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_0"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,780)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,880)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(970,950)" name="Tunnel">
|
||||
<a name="facing" val="east"/>
|
||||
<a name="label" val="PH_1"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(1060,1040)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,1110)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,630)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,700)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,800)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,900)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1060,970)" name="OR Gate"/>
|
||||
<comp lib="1" loc="(1400,410)" name="Controlled Buffer">
|
||||
<a name="control" val="left"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(1400,460)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(490,790)" name="NOT Gate"/>
|
||||
<comp lib="1" loc="(750,570)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(560,500)" name="Multiplexer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="3" loc="(760,520)" name="Adder"/>
|
||||
<comp lib="4" loc="(1190,290)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="MAR"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(1190,430)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="MBR"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(1620,90)" name="RAM">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="databus" val="bidir"/>
|
||||
<a name="label" val="mem"/>
|
||||
<a name="trigger" val="high"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(600,500)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="PC"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(690,270)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="IR"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
<a name="trigger" val="high"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(1030,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(1080,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(1190,170)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(1240,170)" name="Hex Digit Display"/>
|
||||
<comp lib="5" loc="(720,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(770,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(870,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(920,160)" name="Hex Digit Display">
|
||||
<a name="labelvisible" val="true"/>
|
||||
</comp>
|
||||
<comp loc="(1570,810)" name="register_file">
|
||||
<a name="label" val="regs"/>
|
||||
</comp>
|
||||
<comp loc="(630,830)" name="ring_counter">
|
||||
<a name="label" val="ring_clk"/>
|
||||
</comp>
|
||||
<wire from="(1060,1040)" to="(1100,1040)"/>
|
||||
<wire from="(1060,1110)" to="(1100,1110)"/>
|
||||
<wire from="(1060,630)" to="(1100,630)"/>
|
||||
<wire from="(1060,700)" to="(1100,700)"/>
|
||||
<wire from="(1060,800)" to="(1100,800)"/>
|
||||
<wire from="(1060,900)" to="(1100,900)"/>
|
||||
<wire from="(1060,970)" to="(1100,970)"/>
|
||||
<wire from="(1150,310)" to="(1170,310)"/>
|
||||
<wire from="(1150,340)" to="(1190,340)"/>
|
||||
<wire from="(1150,370)" to="(1170,370)"/>
|
||||
<wire from="(1150,450)" to="(1170,450)"/>
|
||||
<wire from="(1150,480)" to="(1190,480)"/>
|
||||
<wire from="(1150,510)" to="(1170,510)"/>
|
||||
<wire from="(1170,310)" to="(1170,320)"/>
|
||||
<wire from="(1170,320)" to="(1190,320)"/>
|
||||
<wire from="(1170,360)" to="(1170,370)"/>
|
||||
<wire from="(1170,360)" to="(1190,360)"/>
|
||||
<wire from="(1170,450)" to="(1170,460)"/>
|
||||
<wire from="(1170,460)" to="(1190,460)"/>
|
||||
<wire from="(1170,500)" to="(1170,510)"/>
|
||||
<wire from="(1170,500)" to="(1190,500)"/>
|
||||
<wire from="(1250,320)" to="(1290,320)"/>
|
||||
<wire from="(1250,460)" to="(1350,460)"/>
|
||||
<wire from="(1350,410)" to="(1350,460)"/>
|
||||
<wire from="(1350,410)" to="(1380,410)"/>
|
||||
<wire from="(1350,460)" to="(1380,460)"/>
|
||||
<wire from="(1390,380)" to="(1390,400)"/>
|
||||
<wire from="(1390,470)" to="(1390,490)"/>
|
||||
<wire from="(1400,410)" to="(1430,410)"/>
|
||||
<wire from="(1400,460)" to="(1430,460)"/>
|
||||
<wire from="(1450,120)" to="(1470,120)"/>
|
||||
<wire from="(1450,150)" to="(1620,150)"/>
|
||||
<wire from="(1470,120)" to="(1470,140)"/>
|
||||
<wire from="(1470,140)" to="(1620,140)"/>
|
||||
<wire from="(1590,100)" to="(1620,100)"/>
|
||||
<wire from="(1870,170)" to="(1890,170)"/>
|
||||
<wire from="(400,790)" to="(430,790)"/>
|
||||
<wire from="(430,760)" to="(430,790)"/>
|
||||
<wire from="(430,760)" to="(450,760)"/>
|
||||
<wire from="(430,790)" to="(460,790)"/>
|
||||
<wire from="(490,790)" to="(510,790)"/>
|
||||
<wire from="(510,450)" to="(510,490)"/>
|
||||
<wire from="(510,450)" to="(780,450)"/>
|
||||
<wire from="(510,490)" to="(530,490)"/>
|
||||
<wire from="(510,790)" to="(510,830)"/>
|
||||
<wire from="(510,830)" to="(530,830)"/>
|
||||
<wire from="(520,540)" to="(540,540)"/>
|
||||
<wire from="(520,570)" to="(600,570)"/>
|
||||
<wire from="(540,520)" to="(540,540)"/>
|
||||
<wire from="(560,500)" to="(580,500)"/>
|
||||
<wire from="(580,500)" to="(580,530)"/>
|
||||
<wire from="(580,530)" to="(600,530)"/>
|
||||
<wire from="(590,550)" to="(600,550)"/>
|
||||
<wire from="(630,830)" to="(650,830)"/>
|
||||
<wire from="(630,840)" to="(670,840)"/>
|
||||
<wire from="(630,850)" to="(690,850)"/>
|
||||
<wire from="(630,860)" to="(670,860)"/>
|
||||
<wire from="(630,870)" to="(650,870)"/>
|
||||
<wire from="(650,290)" to="(670,290)"/>
|
||||
<wire from="(650,340)" to="(690,340)"/>
|
||||
<wire from="(650,790)" to="(650,830)"/>
|
||||
<wire from="(650,790)" to="(690,790)"/>
|
||||
<wire from="(650,870)" to="(650,910)"/>
|
||||
<wire from="(650,910)" to="(690,910)"/>
|
||||
<wire from="(660,530)" to="(690,530)"/>
|
||||
<wire from="(670,290)" to="(670,300)"/>
|
||||
<wire from="(670,300)" to="(690,300)"/>
|
||||
<wire from="(670,820)" to="(670,840)"/>
|
||||
<wire from="(670,820)" to="(690,820)"/>
|
||||
<wire from="(670,860)" to="(670,880)"/>
|
||||
<wire from="(670,880)" to="(690,880)"/>
|
||||
<wire from="(690,530)" to="(690,570)"/>
|
||||
<wire from="(690,530)" to="(720,530)"/>
|
||||
<wire from="(690,570)" to="(730,570)"/>
|
||||
<wire from="(700,510)" to="(720,510)"/>
|
||||
<wire from="(740,580)" to="(740,600)"/>
|
||||
<wire from="(750,570)" to="(780,570)"/>
|
||||
<wire from="(760,520)" to="(780,520)"/>
|
||||
<wire from="(780,450)" to="(780,520)"/>
|
||||
<wire from="(970,1020)" to="(1010,1020)"/>
|
||||
<wire from="(970,1090)" to="(1010,1090)"/>
|
||||
<wire from="(970,610)" to="(1010,610)"/>
|
||||
<wire from="(970,680)" to="(1010,680)"/>
|
||||
<wire from="(970,780)" to="(1010,780)"/>
|
||||
<wire from="(970,880)" to="(1010,880)"/>
|
||||
<wire from="(970,950)" to="(1010,950)"/>
|
||||
</circuit>
|
||||
<circuit name="ring_counter">
|
||||
<a name="appearance" val="evolution"/>
|
||||
<a name="circuit" val="ring_counter"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(260,610)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="clk"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,390)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="ph_0"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,410)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="ph_1"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,430)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="ph_2"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,450)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="ph_3"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(660,470)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="ph_4"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(560,570)" name="Decoder">
|
||||
<a name="select" val="4"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(290,530)" name="Counter">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="max" val="0x1"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<wire from="(260,610)" to="(290,610)"/>
|
||||
<wire from="(480,640)" to="(560,640)"/>
|
||||
<wire from="(560,570)" to="(560,640)"/>
|
||||
<wire from="(580,410)" to="(620,410)"/>
|
||||
<wire from="(580,420)" to="(640,420)"/>
|
||||
<wire from="(580,430)" to="(660,430)"/>
|
||||
<wire from="(580,440)" to="(640,440)"/>
|
||||
<wire from="(580,450)" to="(620,450)"/>
|
||||
<wire from="(620,390)" to="(620,410)"/>
|
||||
<wire from="(620,390)" to="(660,390)"/>
|
||||
<wire from="(620,450)" to="(620,470)"/>
|
||||
<wire from="(620,470)" to="(660,470)"/>
|
||||
<wire from="(640,410)" to="(640,420)"/>
|
||||
<wire from="(640,410)" to="(660,410)"/>
|
||||
<wire from="(640,440)" to="(640,450)"/>
|
||||
<wire from="(640,450)" to="(660,450)"/>
|
||||
</circuit>
|
||||
<circuit name="register_file">
|
||||
<a name="appearance" val="custom"/>
|
||||
<a name="circuit" val="register_file"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<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">d_in</text>
|
||||
<rect height="3" stroke="none" width="10" x="50" y="119"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="124">wr</text>
|
||||
<rect height="3" stroke="none" width="10" x="50" y="129"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="134">a_rd</text>
|
||||
<rect height="4" stroke="none" width="10" x="50" y="78"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="84">in_sel</text>
|
||||
<rect height="4" stroke="none" width="10" x="50" y="88"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="94">a_sel</text>
|
||||
<rect height="3" stroke="none" width="10" x="50" y="139"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="144">b_rd</text>
|
||||
<rect height="4" stroke="none" width="10" x="50" y="98"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="start" x="65" y="104">b_sel</text>
|
||||
<rect height="4" stroke="none" width="10" x="170" y="58"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="end" x="165" y="64">a_out</text>
|
||||
<rect height="4" stroke="none" width="10" x="170" y="78"/>
|
||||
<text dominant-baseline="alphabetic" fill="#404040" font-family="Dialog" font-size="12" text-anchor="end" x="165" y="84">b_out</text>
|
||||
<rect fill="none" height="100" stroke="#000000" stroke-width="2" width="110" x="60" y="50"/>
|
||||
<polygon fill="none" points="110,100 110,130 130,130 130,105 125,100" stroke="#000000"/>
|
||||
<polyline fill="none" points="125,100 125,105" stroke="#000000"/>
|
||||
<polyline fill="none" points="125,105 130,105" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,110 126,110" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,114 126,114" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,118 126,118" stroke="#000000"/>
|
||||
<polyline fill="none" points="114,122 126,122" stroke="#000000"/>
|
||||
<circ-anchor facing="east" x="180" y="60"/>
|
||||
<circ-port dir="in" pin="160,260" x="50" y="60"/>
|
||||
<circ-port dir="in" pin="160,300" x="50" y="120"/>
|
||||
<circ-port dir="in" pin="200,750" x="50" y="80"/>
|
||||
<circ-port dir="in" pin="400,740" x="50" y="130"/>
|
||||
<circ-port dir="in" pin="400,770" x="50" y="90"/>
|
||||
<circ-port dir="in" pin="530,770" x="50" y="140"/>
|
||||
<circ-port dir="in" pin="530,800" x="50" y="100"/>
|
||||
<circ-port dir="out" pin="610,260" x="180" y="60"/>
|
||||
<circ-port dir="out" pin="730,290" x="180" y="80"/>
|
||||
</appear>
|
||||
<comp lib="0" loc="(160,260)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="d_in"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(160,300)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="wr"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(200,750)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="in_sel"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="2"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(400,740)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="a_rd"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(400,770)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="a_sel"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="2"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(530,770)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="b_rd"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(530,800)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="b_sel"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="2"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(610,260)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="a_out"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(730,290)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="b_out"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="radix" val="16"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(540,260)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(540,360)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(540,460)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(540,560)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(660,290)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(660,390)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(660,490)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(660,590)" name="Controlled Buffer">
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(220,720)" name="Decoder">
|
||||
<a name="select" val="2"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(430,720)" name="Decoder">
|
||||
<a name="select" val="2"/>
|
||||
</comp>
|
||||
<comp lib="2" loc="(550,750)" name="Decoder">
|
||||
<a name="select" val="2"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(350,230)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="A"/>
|
||||
<a name="labelloc" val="center"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(350,330)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="B"/>
|
||||
<a name="labelloc" val="center"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(350,430)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="C"/>
|
||||
<a name="labelloc" val="center"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<comp lib="4" loc="(350,530)" name="Register">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="label" val="D"/>
|
||||
<a name="labelloc" val="center"/>
|
||||
<a name="showInTab" val="true"/>
|
||||
</comp>
|
||||
<wire from="(160,260)" to="(330,260)"/>
|
||||
<wire from="(160,300)" to="(250,300)"/>
|
||||
<wire from="(200,750)" to="(220,750)"/>
|
||||
<wire from="(220,720)" to="(220,750)"/>
|
||||
<wire from="(240,680)" to="(270,680)"/>
|
||||
<wire from="(240,690)" to="(290,690)"/>
|
||||
<wire from="(240,700)" to="(310,700)"/>
|
||||
<wire from="(240,710)" to="(330,710)"/>
|
||||
<wire from="(250,300)" to="(250,400)"/>
|
||||
<wire from="(250,300)" to="(350,300)"/>
|
||||
<wire from="(250,400)" to="(250,500)"/>
|
||||
<wire from="(250,400)" to="(350,400)"/>
|
||||
<wire from="(250,500)" to="(250,600)"/>
|
||||
<wire from="(250,500)" to="(350,500)"/>
|
||||
<wire from="(250,600)" to="(350,600)"/>
|
||||
<wire from="(270,280)" to="(270,680)"/>
|
||||
<wire from="(270,280)" to="(350,280)"/>
|
||||
<wire from="(290,380)" to="(290,690)"/>
|
||||
<wire from="(290,380)" to="(350,380)"/>
|
||||
<wire from="(310,480)" to="(310,700)"/>
|
||||
<wire from="(310,480)" to="(350,480)"/>
|
||||
<wire from="(330,260)" to="(330,360)"/>
|
||||
<wire from="(330,260)" to="(350,260)"/>
|
||||
<wire from="(330,360)" to="(330,460)"/>
|
||||
<wire from="(330,360)" to="(350,360)"/>
|
||||
<wire from="(330,460)" to="(330,560)"/>
|
||||
<wire from="(330,460)" to="(350,460)"/>
|
||||
<wire from="(330,560)" to="(350,560)"/>
|
||||
<wire from="(330,580)" to="(330,710)"/>
|
||||
<wire from="(330,580)" to="(350,580)"/>
|
||||
<wire from="(400,740)" to="(420,740)"/>
|
||||
<wire from="(400,770)" to="(430,770)"/>
|
||||
<wire from="(410,260)" to="(430,260)"/>
|
||||
<wire from="(410,360)" to="(430,360)"/>
|
||||
<wire from="(410,460)" to="(430,460)"/>
|
||||
<wire from="(410,560)" to="(430,560)"/>
|
||||
<wire from="(420,720)" to="(420,740)"/>
|
||||
<wire from="(430,260)" to="(430,290)"/>
|
||||
<wire from="(430,260)" to="(520,260)"/>
|
||||
<wire from="(430,290)" to="(640,290)"/>
|
||||
<wire from="(430,360)" to="(430,390)"/>
|
||||
<wire from="(430,360)" to="(520,360)"/>
|
||||
<wire from="(430,390)" to="(640,390)"/>
|
||||
<wire from="(430,460)" to="(430,490)"/>
|
||||
<wire from="(430,460)" to="(520,460)"/>
|
||||
<wire from="(430,490)" to="(640,490)"/>
|
||||
<wire from="(430,560)" to="(430,590)"/>
|
||||
<wire from="(430,560)" to="(520,560)"/>
|
||||
<wire from="(430,590)" to="(640,590)"/>
|
||||
<wire from="(430,720)" to="(430,770)"/>
|
||||
<wire from="(450,680)" to="(470,680)"/>
|
||||
<wire from="(450,690)" to="(490,690)"/>
|
||||
<wire from="(450,700)" to="(510,700)"/>
|
||||
<wire from="(450,710)" to="(530,710)"/>
|
||||
<wire from="(470,280)" to="(470,680)"/>
|
||||
<wire from="(470,280)" to="(530,280)"/>
|
||||
<wire from="(490,400)" to="(490,690)"/>
|
||||
<wire from="(490,400)" to="(530,400)"/>
|
||||
<wire from="(510,500)" to="(510,700)"/>
|
||||
<wire from="(510,500)" to="(530,500)"/>
|
||||
<wire from="(530,270)" to="(530,280)"/>
|
||||
<wire from="(530,370)" to="(530,400)"/>
|
||||
<wire from="(530,470)" to="(530,500)"/>
|
||||
<wire from="(530,570)" to="(530,710)"/>
|
||||
<wire from="(530,770)" to="(540,770)"/>
|
||||
<wire from="(530,800)" to="(550,800)"/>
|
||||
<wire from="(540,260)" to="(570,260)"/>
|
||||
<wire from="(540,360)" to="(570,360)"/>
|
||||
<wire from="(540,460)" to="(570,460)"/>
|
||||
<wire from="(540,560)" to="(570,560)"/>
|
||||
<wire from="(540,750)" to="(540,770)"/>
|
||||
<wire from="(550,750)" to="(550,800)"/>
|
||||
<wire from="(570,260)" to="(570,360)"/>
|
||||
<wire from="(570,260)" to="(610,260)"/>
|
||||
<wire from="(570,360)" to="(570,460)"/>
|
||||
<wire from="(570,460)" to="(570,560)"/>
|
||||
<wire from="(570,710)" to="(590,710)"/>
|
||||
<wire from="(570,720)" to="(610,720)"/>
|
||||
<wire from="(570,730)" to="(630,730)"/>
|
||||
<wire from="(570,740)" to="(650,740)"/>
|
||||
<wire from="(590,310)" to="(590,710)"/>
|
||||
<wire from="(590,310)" to="(650,310)"/>
|
||||
<wire from="(610,430)" to="(610,720)"/>
|
||||
<wire from="(610,430)" to="(650,430)"/>
|
||||
<wire from="(630,530)" to="(630,730)"/>
|
||||
<wire from="(630,530)" to="(650,530)"/>
|
||||
<wire from="(650,300)" to="(650,310)"/>
|
||||
<wire from="(650,400)" to="(650,430)"/>
|
||||
<wire from="(650,500)" to="(650,530)"/>
|
||||
<wire from="(650,600)" to="(650,740)"/>
|
||||
<wire from="(660,290)" to="(690,290)"/>
|
||||
<wire from="(660,390)" to="(690,390)"/>
|
||||
<wire from="(660,490)" to="(690,490)"/>
|
||||
<wire from="(660,590)" to="(690,590)"/>
|
||||
<wire from="(690,290)" to="(690,390)"/>
|
||||
<wire from="(690,290)" to="(730,290)"/>
|
||||
<wire from="(690,390)" to="(690,490)"/>
|
||||
<wire from="(690,490)" to="(690,590)"/>
|
||||
</circuit>
|
||||
</project>
|
Loading…
Reference in a new issue