]> Joshua Wise's Git repositories - mandelfpga.git/blobdiff - Main.v
Prod/cons-ify readout so it can do realtime
[mandelfpga.git] / Main.v
diff --git a/Main.v b/Main.v
index 79d82512d0f77efb6ba84cb84667f36232fb928d..39f38ffdbb06bd96d499a0cad18e5d672018499b 100644 (file)
--- a/Main.v
+++ b/Main.v
@@ -74,7 +74,7 @@ module NaiveMultiplier(
                          (y[10] ? (x >> 2) : 0))  +
                        (((y[9]  ? (x >> 3) : 0)   +
                          (y[8]  ? (x >> 4) : 0))  +
-                   ((y[7]  ? (x >> 5) : 0)   +
+                        ((y[7]  ? (x >> 5) : 0)   +
                          (y[6]  ? (x >> 6) : 0))))+
                        (((y[5]  ? (x >> 7) : 0)   +
                          (y[4]  ? (x >> 8) : 0)   +
@@ -117,7 +117,7 @@ module MandelUnit(
        wire [14:0] ri, diff;
        wire [15:0] twocdiff;
        wire r2sign, i2sign, risign, dsign;
-       wire [13:0] bigsum;
+       wire [14:0] bigsum;
        wire bigsum_ovf;
 
        reg [12:0] xd, yd;
@@ -131,8 +131,38 @@ module MandelUnit(
        Multiplier i2m(clk, i[12:0], i[12:0], isign, isign, i2[12:0], i2sign, i2[13]);
        Multiplier rim(clk, r[12:0], i[12:0], rsign, isign, ri[13:1], risign, ri[14]);
 
-       assign bigsum = r2[12:0] + i2[12:0];
-       assign bigsum_ovf = bigsum[13] | r2[13] | i2[13];
+       assign bigsum = r2[13:0] + i2[13:0];
+       wire shnasto = bigsum[14];
+       wire shnasto2 =         // o shi
+               ((r[13] & i[13]) |
+               ((r[13] ^ i[13]) &
+               ((r[12] & i[12]) |
+               ((r[12] ^ i[12]) &
+               ((r[11] & i[11]) |
+               ((r[11] ^ i[11]) &
+               ((r[10] & i[10]) |
+               ((r[10] ^ i[10]) &
+               ((r[ 9] & i[ 9]) |
+               ((r[ 9] ^ i[ 9]) &
+               ((r[ 8] & i[ 8]) |
+               ((r[ 8] ^ i[ 8]) &
+               ((r[ 7] & i[ 7]) |
+               ((r[ 7] ^ i[ 7]) &
+               ((r[ 6] & i[ 6]) |
+               ((r[ 6] ^ i[ 6]) &
+               ((r[ 5] & i[ 5]) |
+               ((r[ 5] ^ i[ 5]) &
+               ((r[ 4] & i[ 4]) |
+               ((r[ 4] ^ i[ 4]) &
+               ((r[ 3] & i[ 3]) |
+               ((r[ 3] ^ i[ 3]) &
+               ((r[ 2] & i[ 2]) |
+               ((r[ 2] ^ i[ 2]) &
+               ((r[ 1] & i[ 1]) |
+               ((r[ 1] ^ i[ 1]) &
+                (r[ 0] & i[ 0])
+               ))))))))))))))))))))))))));
+       assign bigsum_ovf = shnasto;
        
        assign twocdiff = r2 - i2;
        assign diff = twocdiff[15] ? -twocdiff : twocdiff;
This page took 0.026335 seconds and 4 git commands to generate.