X-Git-Url: http://git.joshuawise.com/mandelfpga.git/blobdiff_plain/02d0a24b9fcfab5be71820b3603fb88ebf0ce8cd..b74034985eac122e8a47ca5800af22ab777f07a0:/Main.v

diff --git a/Main.v b/Main.v
index b6fbae5..0c1e6dc 100644
--- a/Main.v
+++ b/Main.v
@@ -69,19 +69,19 @@ module NaiveMultiplier(
 	always @(posedge clk)
 	begin
 		{ovf,out} <=
-			(((y[12] ? (x     ) : 0)   +
-			  (y[11] ? (x >> 1) : 0)   +
-			  (y[10] ? (x >> 2) : 0))  +
-			(((y[9]  ? (x >> 3) : 0)   +
-			  (y[8]  ? (x >> 4) : 0))  +
-			 ((y[7]  ? (x >> 5) : 0)   +
-			  (y[6]  ? (x >> 6) : 0))))+
-			(((y[5]  ? (x >> 7) : 0)   +
-			  (y[4]  ? (x >> 8) : 0)   +
-			  (y[3]  ? (x >> 9) : 0))  +
-			 ((y[2]  ? (x >> 10): 0)   +
-			  (y[1]  ? (x >> 11): 0)   +
-			  (y[0]  ? (x >> 12): 0)));
+			(((y[12] ? (x       ) : 0)   +
+			  (y[11] ? (x[12:1]) : 0)   +
+			  (y[10] ? (x[12:2]) : 0))  +
+			(((y[9]  ? (x[12:3]) : 0)   +
+			  (y[8]  ? (x[12:4]) : 0))  +
+			 ((y[7]  ? (x[12:5]) : 0)   +
+			  (y[6]  ? (x[12:6]) : 0))))+
+			(((y[5]  ? (x[12:7]) : 0)   +
+			  (y[4]  ? (x[12:8]) : 0)   +
+			  (y[3]  ? (x[12:9]) : 0))  +
+			 ((y[2]  ? (x[12:10]): 0)   +
+			  (y[1]  ? (x[12:11]): 0)   +
+			  (y[0]  ? (x[12]): 0)));
 		sign <= xsign ^ ysign;
 	end
 
@@ -134,6 +134,8 @@ module MandelUnit(
 	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]) |
@@ -159,8 +161,8 @@ module MandelUnit(
 		((r[ 1] & i[ 1]) |
 		((r[ 1] ^ i[ 1]) &
 		 (r[ 0] & i[ 0])
-		))))))))))))))))))))))));
-	assign bigsum_ovf = shnasto | r2[13] | i2[13];
+		))))))))))))))))))))))))));
+	assign bigsum_ovf = shnasto;
 	
 	assign twocdiff = r2 - i2;
 	assign diff = twocdiff[15] ? -twocdiff : twocdiff;