X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/d1b404569fd0bdc74a3397c4ef0a5c2e5f95c835..b057a5d6e6db6db06ae33703ca72cd235eec91d6:/System.v diff --git a/System.v b/System.v index 62f976b..37ca872 100644 --- a/System.v +++ b/System.v @@ -232,6 +232,7 @@ module CoreTop( output wire cr_nADV, cr_nCE, cr_nOE, cr_nWE, cr_CRE, cr_nLB, cr_nUB, cr_CLK, output wire [22:0] cr_A, inout [15:0] cr_DQ, + input ps2c, ps2d, `endif output wire hs, vs, output wire [2:0] r, g, @@ -256,13 +257,14 @@ module CoreTop( IBUFG iclkbuf(.O(xtalb), .I(xtal)); CPUDCM dcm (.CLKIN_IN(xtalb), .CLKFX_OUT(clk)); pixDCM pixdcm (.CLKIN_IN(xtalb), .CLKFX_OUT(vgaclk)); + wire [7:0] ps2buttons; `endif wire [15:0] addr [1:0]; wire [7:0] data [1:0]; wire wr [1:0], rd [1:0]; - wire irq, tmrirq, lcdcirq, vblankirq; + wire irq, tmrirq, lcdcirq, vblankirq, btnirq; wire [7:0] jaddr; wire [1:0] state; wire ack; @@ -348,15 +350,45 @@ module CoreTop( .vgag(g), .vgab(b)); + wire [7:0] sleds; +`ifdef isim + assign leds = sleds; +`else + assign leds = sleds | ps2buttons; +`endif Switches sw( .clk(clk), .address(addr[0]), .data(data[0]), .wr(wr[0]), .rd(rd[0]), - .ledout(leds), + .ledout(sleds), .switches(switches) ); + +`ifdef isim +`else + PS2Button ps2( + .clk(clk), + .inclk(ps2c), + .indata(ps2d), + .buttons(ps2buttons) + ); +`endif + + Buttons ass( + .core_clk(clk), + .addr(addr[0]), + .data(data[0]), + .wr(wr[0]), + .rd(rd[0]), + .int(btnirq), + `ifdef isim + .buttons(switches) + `else + .buttons(ps2buttons) + `endif + ); AddrMon amon( .clk(clk), @@ -415,7 +447,7 @@ module CoreTop( .lcdc(lcdcirq), .tovf(tmrirq), .serial(1'b0), - .buttons(1'b0), + .buttons(btnirq), .master(irq), .ack(ack), .jaddr(jaddr));