Move alu_ext to its own file
authorJoshua Wise <joshua@rebirth.joshuawise.com>
Thu, 22 May 2008 03:49:17 +0000 (23:49 -0400)
committerJoshua Wise <joshua@rebirth.joshuawise.com>
Thu, 22 May 2008 03:49:17 +0000 (23:49 -0400)
broken-tests
core/GBZ80Core.v
core/insn_alu_ext.v

index e388d35..bae68c9 100644 (file)
@@ -37,5 +37,4 @@ TEST 10: SP/HL instructions
 E8 01 (ADD SP, 1)
 E8 FF (ADD SP, -1)
 F8 01 (LD HL, SP+1)
-F8 FF (LD HL, SP-1)
-
+F8 FF (LD HL, SP-1)
\ No newline at end of file
index a79b78a..b5a502c 100644 (file)
@@ -150,65 +150,6 @@ module GBZ80Core(
 `include "allinsns.v"
 `undef LOCALWIRES
 
-       wire [7:0] rlc,rrc,rl,rr,sla,sra,swap,srl;
-       wire [3:0] rlcf,rrcf,rlf,rrf,slaf,sraf,swapf,srlf;
-       wire [7:0] alu_res;
-       wire [3:0] f_res;
-
-       assign rlc   = {tmp[6:0],tmp[7]};
-       assign rlcf  = {(tmp == 0 ? 1'b1 : 1'b0)
-                       ,2'b0,
-                       tmp[7]};
-
-       assign rrc   = {tmp[0],tmp[7:1]};
-       assign rrcf  = {(tmp == 0 ? 1'b1 : 1'b0),
-                       2'b0,
-                       tmp[0]};
-
-       assign rl    = {tmp[6:0],`_F[4]};
-       assign rlf   = {({tmp[6:0],`_F[4]} == 0 ? 1'b1 : 1'b0),
-                       2'b0,
-                       tmp[7]};
-
-       assign rr    = {`_F[4],tmp[7:1]};
-       assign rrf   = {({tmp[4],tmp[7:1]} == 0 ? 1'b1 : 1'b0),
-                       2'b0,
-                       tmp[0]};
-
-       assign sla   = {tmp[6:0],1'b0};
-       assign slaf  = {(tmp[6:0] == 0 ? 1'b1 : 1'b0),
-                       2'b0,
-                       tmp[7]};
-
-       assign sra   = {tmp[7],tmp[7:1]};
-//     assign sraf  = {(tmp[7:1] == 0 ? 1'b1 : 1'b0),2'b0,tmp[0]};   now in assign srlf =
-
-       assign swap  = {tmp[3:0],tmp[7:4]};
-       assign swapf = {(tmp == 1'b0 ? 1'b1 : 1'b0),
-                       3'b0};
-
-       assign srl   = {1'b0,tmp[7:1]};
-       assign srlf  = {(tmp[7:1] == 0 ? 1'b1 : 1'b0),
-                       2'b0,
-                       tmp[0]};
-       assign sraf  = srlf;
-
-       /*  Y U Q  */
-       assign {alu_res,f_res} =
-               opcode[5] ? (
-                       opcode[4] ? (
-                               opcode[3] ? {srl,srlf} : {swap,swapf}
-                       ) : (
-                               opcode[3] ? {sra,sraf} : {sla,slaf}
-                       )
-               ) : (
-                       opcode[4] ? (
-                               opcode[3] ? {rr,rrf} : {rl,rlf}
-                       ) : (
-                               opcode[3] ? {rrc,rrcf} : {rlc,rlcf}
-                       )
-               );
-
        initial begin
                `_A <= 0;
                `_B <= 0;
index b4046e8..1985586 100644 (file)
@@ -1,5 +1,66 @@
 `define INSN_ALU_EXT           9'b100xxxxxx
 
+`ifdef LOCALWIRES
+       wire [7:0] rlc,rrc,rl,rr,sla,sra,swap,srl;
+       wire [3:0] rlcf,rrcf,rlf,rrf,slaf,sraf,swapf,srlf;
+       wire [7:0] alu_res;
+       wire [3:0] f_res;
+
+       assign rlc   = {tmp[6:0],tmp[7]};
+       assign rlcf  = {(tmp == 0 ? 1'b1 : 1'b0)
+                       ,2'b0,
+                       tmp[7]};
+
+       assign rrc   = {tmp[0],tmp[7:1]};
+       assign rrcf  = {(tmp == 0 ? 1'b1 : 1'b0),
+                       2'b0,
+                       tmp[0]};
+
+       assign rl    = {tmp[6:0],`_F[4]};
+       assign rlf   = {({tmp[6:0],`_F[4]} == 0 ? 1'b1 : 1'b0),
+                       2'b0,
+                       tmp[7]};
+
+       assign rr    = {`_F[4],tmp[7:1]};
+       assign rrf   = {({tmp[4],tmp[7:1]} == 0 ? 1'b1 : 1'b0),
+                       2'b0,
+                       tmp[0]};
+
+       assign sla   = {tmp[6:0],1'b0};
+       assign slaf  = {(tmp[6:0] == 0 ? 1'b1 : 1'b0),
+                       2'b0,
+                       tmp[7]};
+
+       assign sra   = {tmp[7],tmp[7:1]};
+//     assign sraf  = {(tmp[7:1] == 0 ? 1'b1 : 1'b0),2'b0,tmp[0]};   now in assign srlf =
+
+       assign swap  = {tmp[3:0],tmp[7:4]};
+       assign swapf = {(tmp == 1'b0 ? 1'b1 : 1'b0),
+                       3'b0};
+
+       assign srl   = {1'b0,tmp[7:1]};
+       assign srlf  = {(tmp[7:1] == 0 ? 1'b1 : 1'b0),
+                       2'b0,
+                       tmp[0]};
+       assign sraf  = srlf;
+
+       /*  Y U Q  */
+       assign {alu_res,f_res} =
+               opcode[5] ? (
+                       opcode[4] ? (
+                               opcode[3] ? {srl,srlf} : {swap,swapf}
+                       ) : (
+                               opcode[3] ? {sra,sraf} : {sla,slaf}
+                       )
+               ) : (
+                       opcode[4] ? (
+                               opcode[3] ? {rr,rrf} : {rl,rlf}
+                       ) : (
+                               opcode[3] ? {rrc,rrcf} : {rlc,rlcf}
+                       )
+               );
+`endif
+
 `ifdef EXECUTE
        `INSN_ALU_EXT: begin
                if ((opcode[2:0] == `INSN_reg_dHL) && (cycle == 0))
This page took 0.027761 seconds and 4 git commands to generate.