From 241c995cb7db3feeeb57d11625dc8fd34c166d82 Mon Sep 17 00:00:00 2001 From: Joshua Wise Date: Sat, 29 Mar 2008 04:15:58 -0400 Subject: [PATCH] Make it synthesizable. --- FPGABoy.ise | Bin 162762 -> 169993 bytes GBZ80Core.v | 32 ++++++++++++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/FPGABoy.ise b/FPGABoy.ise index 7770eb008676e674792cd2feea4e53b9fad09ccc..b522e2c3cb07048d94fca2c409c934d11d90a75a 100644 GIT binary patch delta 51709 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 LqWF0`@zeJ|8Wzz9 diff --git a/GBZ80Core.v b/GBZ80Core.v index cb80cb8..968cd26 100644 --- a/GBZ80Core.v +++ b/GBZ80Core.v @@ -70,18 +70,18 @@ module GBZ80Core( assign busdata = buswr ? buswdata : 8'bzzzzzzzz; initial begin - registers[ 0] = 0; - registers[ 1] = 0; - registers[ 2] = 0; - registers[ 3] = 0; - registers[ 4] = 0; - registers[ 5] = 0; - registers[ 6] = 0; - registers[ 7] = 0; - registers[ 8] = 0; - registers[ 9] = 0; - registers[10] = 0; - registers[11] = 0; + registers[ 0] <= 0; + registers[ 1] <= 0; + registers[ 2] <= 0; + registers[ 3] <= 0; + registers[ 4] <= 0; + registers[ 5] <= 0; + registers[ 6] <= 0; + registers[ 7] <= 0; + registers[ 8] <= 0; + registers[ 9] <= 0; + registers[10] <= 0; + registers[11] <= 0; end always @(posedge clk) @@ -364,12 +364,12 @@ module GBZ80Core( `INSN_PUSH_reg: begin /* PUSH is 16 cycles! */ case (cycle) 0: begin - {registers[`REG_SPH],registers[`REG_SPL]} = + {registers[`REG_SPH],registers[`REG_SPL]} <= {registers[`REG_SPH],registers[`REG_SPL]} - 1; cycle <= 1; end 1: begin - {registers[`REG_SPH],registers[`REG_SPL]} = + {registers[`REG_SPH],registers[`REG_SPL]} <= {registers[`REG_SPH],registers[`REG_SPL]} - 1; cycle <= 2; end @@ -381,7 +381,7 @@ module GBZ80Core( case (cycle) 0: begin cycle <= 1; - {registers[`REG_SPH],registers[`REG_SPL]} = + {registers[`REG_SPH],registers[`REG_SPL]} <= {registers[`REG_SPH],registers[`REG_SPL]} + 1; end 1: begin @@ -391,7 +391,7 @@ module GBZ80Core( `INSN_stack_DE: registers[`REG_E] <= rdata; `INSN_stack_HL: registers[`REG_L] <= rdata; endcase - {registers[`REG_SPH],registers[`REG_SPL]} = + {registers[`REG_SPH],registers[`REG_SPL]} <= {registers[`REG_SPH],registers[`REG_SPL]} + 1; cycle <= 2; end -- 2.39.2