Skip to content
Snippets Groups Projects
Commit 42ef02c0 authored by Baviere Merlin's avatar Baviere Merlin
Browse files

BL done

parent 0cde4852
No related branches found
No related tags found
No related merge requests found
......@@ -185,34 +185,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(530,140)" to="(540,140)"/>
<wire from="(540,130)" to="(550,130)"/>
<wire from="(650,80)" to="(660,80)"/>
<comp lib="1" loc="(480,80)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
<a name="control" val="left"/>
</comp>
<comp lib="0" loc="(990,130)" name="Tunnel">
<a name="label" val="HRADM"/>
</comp>
<comp lib="0" loc="(870,210)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="label" val="OpCode"/>
</comp>
<comp lib="0" loc="(1000,210)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(670,140)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(380,260)" name="Tunnel">
<a name="width" val="3"/>
<a name="label" val="Rx"/>
</comp>
<comp lib="0" loc="(830,140)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
......@@ -223,125 +195,67 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="facing" val="north"/>
<a name="label" val="HRI"/>
</comp>
<comp lib="0" loc="(300,80)" name="Tunnel">
<a name="label" val="MemB"/>
</comp>
<comp lib="0" loc="(530,260)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Rx"/>
</comp>
<comp lib="0" loc="(190,240)" name="Tunnel">
<a name="facing" val="north"/>
<comp lib="0" loc="(1040,180)" name="Tunnel">
<a name="label" val="RW"/>
</comp>
<comp lib="5" loc="(660,320)" name="Button">
<a name="facing" val="north"/>
<a name="label" val="Reset Registers"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="5" loc="(510,200)" name="Button">
<a name="facing" val="north"/>
<a name="label" val="Reset PC"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(940,50)" name="Clock">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(1010,150)" name="Tunnel">
<a name="label" val="HR"/>
</comp>
<comp lib="1" loc="(270,70)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(870,140)" name="Register">
<a name="width" val="4"/>
<a name="label" val="SR"/>
</comp>
<comp lib="4" loc="(90,180)" name="Register">
<a name="width" val="16"/>
<a name="label" val="RADM"/>
</comp>
<comp lib="0" loc="(360,250)" name="Tunnel">
<a name="width" val="3"/>
<a name="label" val="Ry"/>
</comp>
<comp lib="0" loc="(1010,170)" name="Tunnel">
<a name="label" val="HPC"/>
</comp>
<comp lib="0" loc="(850,170)" name="Tunnel">
<comp lib="0" loc="(450,200)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="HSR"/>
<a name="label" val="HPC"/>
</comp>
<comp lib="0" loc="(700,180)" name="Tunnel">
<a name="facing" val="north"/>
<comp lib="0" loc="(1010,210)" name="Tunnel">
<a name="width" val="4"/>
<a name="label" val="CodeUAL"/>
</comp>
<comp lib="1" loc="(620,80)" name="NOT Gate">
<a name="facing" val="west"/>
<comp lib="4" loc="(90,180)" name="Register">
<a name="width" val="16"/>
<a name="label" val="RADM"/>
</comp>
<comp lib="1" loc="(570,70)" name="Controlled Buffer">
<comp lib="1" loc="(480,80)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
<a name="control" val="left"/>
</comp>
<comp lib="0" loc="(880,170)" name="Splitter">
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(1040,160)" name="Tunnel">
<a name="label" val="HSR"/>
</comp>
<comp lib="0" loc="(530,120)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Ry"/>
<comp lib="0" loc="(870,210)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="label" val="OpCode"/>
</comp>
<comp lib="0" loc="(530,140)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Rz"/>
<comp lib="0" loc="(880,140)" name="Splitter">
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
</comp>
<comp lib="0" loc="(540,290)" name="Tunnel">
<comp lib="1" loc="(560,80)" name="NOT Gate"/>
<comp lib="0" loc="(850,170)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="HR"/>
</comp>
<comp lib="7" loc="(820,130)" name="ALU">
<a name="width" val="16"/>
<a name="label" val="HSR"/>
</comp>
<comp lib="1" loc="(660,280)" name="NOT Gate">
<comp lib="5" loc="(510,200)" name="Button">
<a name="facing" val="north"/>
<a name="size" val="20"/>
<a name="label" val="Reset PC"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="7" loc="(630,150)" name="Register File">
<a name="width" val="16"/>
<comp lib="0" loc="(380,260)" name="Tunnel">
<a name="width" val="3"/>
<a name="label" val="Rx"/>
</comp>
<comp lib="0" loc="(520,80)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="PCA"/>
<comp lib="0" loc="(660,80)" name="Tunnel">
<a name="label" val="MemB"/>
</comp>
<comp lib="0" loc="(450,200)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="HPC"/>
<comp lib="1" loc="(620,80)" name="NOT Gate">
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(880,140)" name="Splitter">
<comp lib="0" loc="(670,140)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
</comp>
<comp lib="1" loc="(610,70)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1000,230)" name="Tunnel">
<a name="label" val="PCA"/>
</comp>
<comp lib="7" loc="(900,70)" name="Control Unit">
<a name="cycle_length" val="6"/>
<a name="equation_file"># Mini ARM avec PC, machine de cours
input N
input Z
......@@ -368,26 +282,62 @@ internal BL = RI15 * !RI14 * !RI13 * RI12
# Registres
output HRADM = 0
output HRI = 0
output HREG = 0
output HSR = 0
output HPC = 0
output HRADM = P1+P2+P4*(LDR+STR)
output HRI = P2
output HREG = P5*(ADD+SUB+LDR+MOV+BL)
output HSR = P5*CMP
output HPC = P2+(P3*IMM)+P5*(B+BEQ*Z+BLT*N+BL)
# Mémoire
output RW = 1
output RW = P5*STR
# UAL
output U0 = 0
output U0 = T4*(STR+LDR)+T5*(ADD+LDR+STR+B+BEQ*Z+BLT*N+MOV+BL)
output U1 = 0
output U2 = 0
output U3 = 0
output U2 = T2+(T3*IMM)+T4*(STR+LDR)+T5*(LDR+STR+B+BEQ*Z+BLT*N+MOV+BL)
output U3 = T2+(T3*IMM)+T5*(CMP+SUB+ADD)
# Autres signaux
output PCA = 0
output MemB = 0
output PCA = T1+T2+T3*IMM+T4*BL
output MemB = T4*(STR+LDR)+T5*(IMM*(ADD+SUB+CMP+MOV)+LDR+B+BEQ*Z+BLT*N+BL)
</a>
</comp>
<comp lib="0" loc="(190,240)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="RW"/>
</comp>
<comp lib="5" loc="(660,320)" name="Button">
<a name="facing" val="north"/>
<a name="label" val="Reset Registers"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(360,250)" name="Tunnel">
<a name="width" val="3"/>
<a name="label" val="Ry"/>
</comp>
<comp lib="0" loc="(880,170)" name="Splitter">
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(700,180)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="4"/>
<a name="label" val="CodeUAL"/>
</comp>
<comp lib="0" loc="(1040,160)" name="Tunnel">
<a name="label" val="HSR"/>
</comp>
<comp lib="0" loc="(540,290)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="HR"/>
</comp>
<comp lib="0" loc="(1000,210)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="center"/>
</comp>
<comp lib="0" loc="(320,260)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="16"/>
......@@ -409,52 +359,101 @@ output MemB = 0
<a name="bit14" val="3"/>
<a name="bit15" val="3"/>
</comp>
<comp lib="0" loc="(1040,180)" name="Tunnel">
<a name="label" val="RW"/>
</comp>
<comp lib="0" loc="(660,80)" name="Tunnel">
<a name="label" val="MemB"/>
<comp lib="0" loc="(530,260)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Rx"/>
</comp>
<comp lib="4" loc="(310,260)" name="Register">
<a name="width" val="16"/>
<a name="label" val="RI"/>
</comp>
<comp lib="1" loc="(560,80)" name="NOT Gate"/>
<comp lib="0" loc="(460,90)" name="Tunnel">
<comp lib="7" loc="(630,150)" name="Register File">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(530,140)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Rz"/>
</comp>
<comp lib="0" loc="(940,50)" name="Clock">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(530,120)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="3"/>
<a name="label" val="Ry"/>
</comp>
<comp lib="4" loc="(260,180)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(1000,230)" name="Tunnel">
<a name="label" val="PCA"/>
</comp>
<comp lib="0" loc="(1010,210)" name="Tunnel">
<a name="width" val="4"/>
<a name="label" val="CodeUAL"/>
<comp lib="0" loc="(360,300)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="label" val="OpCode"/>
</comp>
<comp lib="0" loc="(1010,170)" name="Tunnel">
<a name="label" val="HPC"/>
</comp>
<comp lib="1" loc="(570,70)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
<a name="control" val="left"/>
</comp>
<comp lib="0" loc="(300,80)" name="Tunnel">
<a name="label" val="MemB"/>
</comp>
<comp lib="0" loc="(70,210)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="HRADM"/>
</comp>
<comp lib="0" loc="(1010,150)" name="Tunnel">
<a name="label" val="HR"/>
</comp>
<comp lib="0" loc="(520,80)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="PCA"/>
</comp>
<comp lib="0" loc="(1040,240)" name="Tunnel">
<a name="label" val="MemB"/>
</comp>
<comp lib="0" loc="(1040,140)" name="Tunnel">
<a name="label" val="HRI"/>
</comp>
<comp lib="1" loc="(270,70)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(470,150)" name="Register">
<a name="width" val="16"/>
<a name="label" val="PC"/>
</comp>
<comp lib="0" loc="(1040,240)" name="Tunnel">
<a name="label" val="MemB"/>
<comp lib="1" loc="(610,70)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(990,130)" name="Tunnel">
<a name="label" val="HRADM"/>
</comp>
<comp lib="0" loc="(380,240)" name="Tunnel">
<a name="width" val="3"/>
<a name="label" val="Rz"/>
</comp>
<comp lib="0" loc="(360,300)" name="Tunnel">
<comp lib="1" loc="(660,280)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="width" val="5"/>
<a name="label" val="OpCode"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(1040,140)" name="Tunnel">
<a name="label" val="HRI"/>
<comp lib="7" loc="(820,130)" name="ALU">
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(260,180)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
<comp lib="0" loc="(460,90)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="PCA"/>
</comp>
</circuit>
</project>
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment