Mon Oct 31 06:04:23 PM CET 2022

master
Alessandro Mauri 1 year ago
parent 397aa880f8
commit ebb053029d
  1. 572
      alu.dig
  2. 20
      multiply-add.dig
  3. 326
      nor32.dig
  4. 78
      registers.dig
  5. 2165
      shift32.dig
  6. 4361
      shifter.dig
  7. 28
      signed_mul.dig

File diff suppressed because it is too large Load Diff

@ -22,7 +22,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1120" y="320"/>
@ -36,7 +36,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1120" y="360"/>
@ -46,11 +46,11 @@
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>32</string>
<string>64</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>16,16</string>
<string>32,32</string>
</entry>
</elementAttributes>
<pos x="1600" y="300"/>
@ -64,7 +64,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1680" y="280"/>
@ -78,7 +78,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1680" y="340"/>
@ -88,7 +88,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>32</int>
<int>64</int>
</entry>
</elementAttributes>
<pos x="1420" y="300"/>
@ -102,7 +102,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1120" y="400"/>
@ -112,11 +112,11 @@
<elementAttributes>
<entry>
<string>inputBits</string>
<int>16</int>
<int>32</int>
</entry>
<entry>
<string>outputBits</string>
<int>32</int>
<int>64</int>
</entry>
</elementAttributes>
<pos x="1220" y="400"/>

@ -0,0 +1,326 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>1</version>
<attributes/>
<visualElements>
<visualElement>
<elementName>NOr</elementName>
<elementAttributes>
<entry>
<string>wideShape</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Inputs</string>
<int>32</int>
</entry>
</elementAttributes>
<pos x="360" y="280"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>32</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1*32</string>
</entry>
</elementAttributes>
<pos x="-40" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>i</string>
</entry>
<entry>
<string>Bits</string>
<int>32</int>
</entry>
</elementAttributes>
<pos x="-140" y="280"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>o</string>
</entry>
</elementAttributes>
<pos x="540" y="600"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="-20" y="320"/>
<p2 x="360" y="320"/>
</wire>
<wire>
<p1 x="320" y="640"/>
<p2 x="360" y="640"/>
</wire>
<wire>
<p1 x="-20" y="640"/>
<p2 x="300" y="640"/>
</wire>
<wire>
<p1 x="-20" y="580"/>
<p2 x="360" y="580"/>
</wire>
<wire>
<p1 x="60" y="900"/>
<p2 x="360" y="900"/>
</wire>
<wire>
<p1 x="-20" y="900"/>
<p2 x="40" y="900"/>
</wire>
<wire>
<p1 x="-20" y="520"/>
<p2 x="360" y="520"/>
</wire>
<wire>
<p1 x="120" y="840"/>
<p2 x="360" y="840"/>
</wire>
<wire>
<p1 x="-20" y="840"/>
<p2 x="100" y="840"/>
</wire>
<wire>
<p1 x="-20" y="460"/>
<p2 x="360" y="460"/>
</wire>
<wire>
<p1 x="180" y="780"/>
<p2 x="360" y="780"/>
</wire>
<wire>
<p1 x="-20" y="780"/>
<p2 x="160" y="780"/>
</wire>
<wire>
<p1 x="-20" y="400"/>
<p2 x="360" y="400"/>
</wire>
<wire>
<p1 x="240" y="720"/>
<p2 x="360" y="720"/>
</wire>
<wire>
<p1 x="-20" y="720"/>
<p2 x="220" y="720"/>
</wire>
<wire>
<p1 x="-20" y="340"/>
<p2 x="360" y="340"/>
</wire>
<wire>
<p1 x="300" y="660"/>
<p2 x="360" y="660"/>
</wire>
<wire>
<p1 x="-20" y="660"/>
<p2 x="280" y="660"/>
</wire>
<wire>
<p1 x="-20" y="280"/>
<p2 x="360" y="280"/>
</wire>
<wire>
<p1 x="-140" y="280"/>
<p2 x="-40" y="280"/>
</wire>
<wire>
<p1 x="-20" y="600"/>
<p2 x="340" y="600"/>
</wire>
<wire>
<p1 x="460" y="600"/>
<p2 x="540" y="600"/>
</wire>
<wire>
<p1 x="40" y="920"/>
<p2 x="360" y="920"/>
</wire>
<wire>
<p1 x="-20" y="540"/>
<p2 x="360" y="540"/>
</wire>
<wire>
<p1 x="100" y="860"/>
<p2 x="360" y="860"/>
</wire>
<wire>
<p1 x="-20" y="860"/>
<p2 x="80" y="860"/>
</wire>
<wire>
<p1 x="-20" y="480"/>
<p2 x="360" y="480"/>
</wire>
<wire>
<p1 x="160" y="800"/>
<p2 x="360" y="800"/>
</wire>
<wire>
<p1 x="-20" y="800"/>
<p2 x="140" y="800"/>
</wire>
<wire>
<p1 x="-20" y="420"/>
<p2 x="360" y="420"/>
</wire>
<wire>
<p1 x="220" y="740"/>
<p2 x="360" y="740"/>
</wire>
<wire>
<p1 x="-20" y="740"/>
<p2 x="200" y="740"/>
</wire>
<wire>
<p1 x="-20" y="360"/>
<p2 x="360" y="360"/>
</wire>
<wire>
<p1 x="280" y="680"/>
<p2 x="360" y="680"/>
</wire>
<wire>
<p1 x="-20" y="680"/>
<p2 x="260" y="680"/>
</wire>
<wire>
<p1 x="-20" y="300"/>
<p2 x="360" y="300"/>
</wire>
<wire>
<p1 x="340" y="620"/>
<p2 x="360" y="620"/>
</wire>
<wire>
<p1 x="-20" y="620"/>
<p2 x="320" y="620"/>
</wire>
<wire>
<p1 x="-20" y="560"/>
<p2 x="360" y="560"/>
</wire>
<wire>
<p1 x="80" y="880"/>
<p2 x="360" y="880"/>
</wire>
<wire>
<p1 x="-20" y="880"/>
<p2 x="60" y="880"/>
</wire>
<wire>
<p1 x="-20" y="500"/>
<p2 x="360" y="500"/>
</wire>
<wire>
<p1 x="140" y="820"/>
<p2 x="360" y="820"/>
</wire>
<wire>
<p1 x="-20" y="820"/>
<p2 x="120" y="820"/>
</wire>
<wire>
<p1 x="-20" y="440"/>
<p2 x="360" y="440"/>
</wire>
<wire>
<p1 x="200" y="760"/>
<p2 x="360" y="760"/>
</wire>
<wire>
<p1 x="-20" y="760"/>
<p2 x="180" y="760"/>
</wire>
<wire>
<p1 x="-20" y="380"/>
<p2 x="360" y="380"/>
</wire>
<wire>
<p1 x="260" y="700"/>
<p2 x="360" y="700"/>
</wire>
<wire>
<p1 x="-20" y="700"/>
<p2 x="240" y="700"/>
</wire>
<wire>
<p1 x="320" y="620"/>
<p2 x="320" y="640"/>
</wire>
<wire>
<p1 x="160" y="780"/>
<p2 x="160" y="800"/>
</wire>
<wire>
<p1 x="260" y="680"/>
<p2 x="260" y="700"/>
</wire>
<wire>
<p1 x="100" y="840"/>
<p2 x="100" y="860"/>
</wire>
<wire>
<p1 x="200" y="740"/>
<p2 x="200" y="760"/>
</wire>
<wire>
<p1 x="40" y="900"/>
<p2 x="40" y="920"/>
</wire>
<wire>
<p1 x="300" y="640"/>
<p2 x="300" y="660"/>
</wire>
<wire>
<p1 x="140" y="800"/>
<p2 x="140" y="820"/>
</wire>
<wire>
<p1 x="240" y="700"/>
<p2 x="240" y="720"/>
</wire>
<wire>
<p1 x="80" y="860"/>
<p2 x="80" y="880"/>
</wire>
<wire>
<p1 x="340" y="600"/>
<p2 x="340" y="620"/>
</wire>
<wire>
<p1 x="180" y="760"/>
<p2 x="180" y="780"/>
</wire>
<wire>
<p1 x="280" y="660"/>
<p2 x="280" y="680"/>
</wire>
<wire>
<p1 x="120" y="820"/>
<p2 x="120" y="840"/>
</wire>
<wire>
<p1 x="220" y="720"/>
<p2 x="220" y="740"/>
</wire>
<wire>
<p1 x="60" y="880"/>
<p2 x="60" y="900"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

@ -12,7 +12,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="860"/>
@ -26,7 +26,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="860"/>
@ -40,7 +40,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="860"/>
@ -54,7 +54,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="860"/>
@ -68,7 +68,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="980"/>
@ -82,7 +82,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="980"/>
@ -96,7 +96,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="980"/>
@ -110,7 +110,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="980"/>
@ -124,7 +124,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1100"/>
@ -138,7 +138,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1100"/>
@ -152,7 +152,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1100"/>
@ -166,7 +166,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1100"/>
@ -180,7 +180,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1220"/>
@ -194,7 +194,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1220"/>
@ -208,7 +208,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1220"/>
@ -222,7 +222,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1220"/>
@ -236,7 +236,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1340"/>
@ -250,7 +250,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1340"/>
@ -264,7 +264,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1340"/>
@ -278,7 +278,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1340"/>
@ -292,7 +292,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1460"/>
@ -306,7 +306,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1460"/>
@ -320,7 +320,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1460"/>
@ -334,7 +334,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1460"/>
@ -348,7 +348,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1580"/>
@ -362,7 +362,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1580"/>
@ -376,7 +376,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1580"/>
@ -390,7 +390,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1580"/>
@ -404,7 +404,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="140" y="1700"/>
@ -418,7 +418,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="1700"/>
@ -432,7 +432,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1060" y="1700"/>
@ -446,7 +446,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1520" y="1700"/>
@ -490,7 +490,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="-360" y="20"/>
@ -504,7 +504,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1900" y="1840"/>
@ -518,7 +518,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1900" y="2600"/>
@ -532,7 +532,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="2080" y="2160"/>
@ -546,7 +546,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="2080" y="2920"/>
@ -650,7 +650,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1900" y="3380"/>
@ -664,7 +664,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="2080" y="3700"/>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -8,7 +8,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="1040" y="300"/>
@ -32,7 +32,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="280"/>
@ -46,7 +46,7 @@
</entry>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="600" y="500"/>
@ -56,11 +56,11 @@
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>16</string>
<string>32</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>15,1</string>
<string>31,1</string>
</entry>
</elementAttributes>
<pos x="680" y="280"/>
@ -80,7 +80,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="780" y="240"/>
@ -90,7 +90,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="880" y="200"/>
@ -100,11 +100,11 @@
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>16</string>
<string>32</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>15,1</string>
<string>31,1</string>
</entry>
</elementAttributes>
<pos x="680" y="500"/>
@ -124,7 +124,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="780" y="460"/>
@ -134,7 +134,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
<int>32</int>
</entry>
</elementAttributes>
<pos x="880" y="420"/>
@ -164,7 +164,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>32</int>
<int>64</int>
</entry>
</elementAttributes>
<pos x="1160" y="320"/>
@ -174,7 +174,7 @@
<elementAttributes>
<entry>
<string>Bits</string>
<int>32</int>
<int>64</int>
</entry>
</elementAttributes>
<pos x="1280" y="280"/>
@ -213,7 +213,7 @@
</entry>
<entry>
<string>Bits</string>
<int>32</int>
<int>64</int>
</entry>
</elementAttributes>
<pos x="1380" y="300"/>

Loading…
Cancel
Save