X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/75ab1e9975f64989ee18450eb09b66b33ec5def8..e7fb589a21ee26ad897e03cbd0d7a647d9cd97e5:/System.v diff --git a/System.v b/System.v index dc70cc0..cdcee09 100644 --- a/System.v +++ b/System.v @@ -83,7 +83,16 @@ module Switches( end endmodule +`ifdef isim +module Dumpable(input [2:0] r, g, input [1:0] b, input hs, vs, vgaclk); +endmodule +`endif + module CoreTop( +`ifdef isim + output reg vgaclk = 0, + output reg clk = 0, +`else input xtal, input [7:0] switches, input [3:0] buttons, @@ -91,16 +100,31 @@ module CoreTop( output serio, output wire [3:0] digits, output wire [7:0] seven, +`endif output wire hs, vs, output wire [2:0] r, g, output wire [1:0] b, output wire soundl, soundr); + +`ifdef isim + always #62 clk <= ~clk; + always #100 vgaclk <= ~vgaclk; + + Dumpable dump(r,g,b,hs,vs,vgaclk); + wire [7:0] leds; + wire serio; + wire [3:0] digits; + wire [7:0] seven; + wire [7:0] switches = 8'b0; + wire [3:0] buttons = 4'b0; +`else wire xtalb, clk, vgaclk; IBUFG iclkbuf(.O(xtalb), .I(xtal)); CPUDCM dcm (.CLKIN_IN(xtalb), .CLKFX_OUT(clk)); pixDCM pixdcm (.CLKIN_IN(xtalb), .CLKFX_OUT(vgaclk)); - +`endif + wire [15:0] addr; wire [7:0] data; wire wr, rd; @@ -224,8 +248,8 @@ module CoreTop( .vblank(vblankirq), .lcdc(lcdcirq), .tovf(tmrirq), - .serial(0), - .buttons(0), + .serial(1'b0), + .buttons(1'b0), .master(irq), .jaddr(jaddr)); @@ -239,6 +263,8 @@ module CoreTop( .snd_data_r(soundr)); endmodule +`ifdef verilator +`else module TestBench(); reg clk = 1; wire [15:0] addr; @@ -315,3 +341,4 @@ module TestBench(); .switches(switches), .ledout(leds)); endmodule +`endif