Sat Oct 29 11:29:17 PM CEST 2022

master
Alessandro Mauri 1 year ago
parent 50fe0e2267
commit c336ca328f
  1. 15
      INSTRUCTIONS.md
  2. 12
      alu.dig
  3. 56
      registers.dig

@ -0,0 +1,15 @@
# RISC combined instruction set
goal: a semi-efficient insatruction set that offers few instructions that offer
the combined functions of conventional risc instuctions.
as such most instructions could be pipelined, I don't know how to feel about that
| mnemonic | function | opcode |
|------------|----------------|--------|
| Arithmetic | | |
|------------|----------------|--------|
| Memory | | |
|------------|----------------|--------|
| LD Rd, Ra:Rb|
| ST |

@ -11,24 +11,16 @@
<visualElement> <visualElement>
<elementName>Add</elementName> <elementName>Add</elementName>
<elementAttributes> <elementAttributes>
<entry>
<string>Label</string>
<string>ADD/C</string>
</entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
<int>16</int> <int>16</int>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="420" y="340"/> <pos x="420" y="360"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Sub</elementName> <elementName>Sub</elementName>
<elementAttributes> <elementAttributes>
<entry>
<string>Label</string>
<string>SUB/C</string>
</entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
<int>16</int> <int>16</int>
@ -39,7 +31,7 @@
<visualElement> <visualElement>
<elementName>signed_mul.dig</elementName> <elementName>signed_mul.dig</elementName>
<elementAttributes/> <elementAttributes/>
<pos x="420" y="220"/> <pos x="420" y="240"/>
</visualElement> </visualElement>
</visualElements> </visualElements>
<wires/> <wires/>

@ -466,7 +466,7 @@
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>Label</string> <string>Label</string>
<string>RE</string> <string>W</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="-360" y="460"/> <pos x="-360" y="460"/>
@ -528,7 +528,7 @@
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>Label</string> <string>Label</string>
<string>Rd</string> <string>Ra</string>
</entry> </entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
@ -542,7 +542,7 @@
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>Label</string> <string>Label</string>
<string>Rr</string> <string>Rb</string>
</entry> </entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
@ -556,24 +556,24 @@
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>Label</string> <string>Label</string>
<string>DS</string> <string>Sa</string>
</entry> </entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
<int>5</int> <int>5</int>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="-360" y="840"/> <pos x="-360" y="980"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Tunnel</elementName> <elementName>Tunnel</elementName>
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>NetName</string> <string>NetName</string>
<string>ds</string> <string>sa</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="-120" y="840"/> <pos x="-120" y="980"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Tunnel</elementName> <elementName>Tunnel</elementName>
@ -584,7 +584,7 @@
</entry> </entry>
<entry> <entry>
<string>NetName</string> <string>NetName</string>
<string>ds</string> <string>sa</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="1920" y="2520"/> <pos x="1920" y="2520"/>
@ -594,24 +594,24 @@
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>Label</string> <string>Label</string>
<string>RS</string> <string>Sb</string>
</entry> </entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
<int>5</int> <int>5</int>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="-360" y="920"/> <pos x="-360" y="1060"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Tunnel</elementName> <elementName>Tunnel</elementName>
<elementAttributes> <elementAttributes>
<entry> <entry>
<string>NetName</string> <string>NetName</string>
<string>rs</string> <string>sb</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="-120" y="920"/> <pos x="-120" y="1060"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Tunnel</elementName> <elementName>Tunnel</elementName>
@ -622,11 +622,25 @@
</entry> </entry>
<entry> <entry>
<string>NetName</string> <string>NetName</string>
<string>rs</string> <string>sb</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="1920" y="3280"/> <pos x="1920" y="3280"/>
</visualElement> </visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Sw</string>
</entry>
<entry>
<string>Bits</string>
<int>5</int>
</entry>
</elementAttributes>
<pos x="-360" y="840"/>
</visualElement>
</visualElements> </visualElements>
<wires> <wires>
<wire> <wire>
@ -693,6 +707,10 @@
<p1 x="800" y="2340"/> <p1 x="800" y="2340"/>
<p2 x="1900" y="2340"/> <p2 x="1900" y="2340"/>
</wire> </wire>
<wire>
<p1 x="-360" y="1060"/>
<p2 x="-120" y="1060"/>
</wire>
<wire> <wire>
<p1 x="220" y="2600"/> <p1 x="220" y="2600"/>
<p2 x="1900" y="2600"/> <p2 x="1900" y="2600"/>
@ -821,10 +839,6 @@
<p1 x="-360" y="840"/> <p1 x="-360" y="840"/>
<p2 x="-140" y="840"/> <p2 x="-140" y="840"/>
</wire> </wire>
<wire>
<p1 x="-140" y="840"/>
<p2 x="-120" y="840"/>
</wire>
<wire> <wire>
<p1 x="100" y="1100"/> <p1 x="100" y="1100"/>
<p2 x="140" y="1100"/> <p2 x="140" y="1100"/>
@ -1173,10 +1187,6 @@
<p1 x="1220" y="2200"/> <p1 x="1220" y="2200"/>
<p2 x="1900" y="2200"/> <p2 x="1900" y="2200"/>
</wire> </wire>
<wire>
<p1 x="-360" y="920"/>
<p2 x="-120" y="920"/>
</wire>
<wire> <wire>
<p1 x="1740" y="2460"/> <p1 x="1740" y="2460"/>
<p2 x="1900" y="2460"/> <p2 x="1900" y="2460"/>
@ -1393,6 +1403,10 @@
<p1 x="260" y="2000"/> <p1 x="260" y="2000"/>
<p2 x="1900" y="2000"/> <p2 x="1900" y="2000"/>
</wire> </wire>
<wire>
<p1 x="-360" y="980"/>
<p2 x="-120" y="980"/>
</wire>
<wire> <wire>
<p1 x="100" y="980"/> <p1 x="100" y="980"/>
<p2 x="140" y="980"/> <p2 x="140" y="980"/>

Loading…
Cancel
Save