1
0
mirror of https://github.com/livingcomputermuseum/cpus-pdp8.git synced 2026-01-13 15:37:04 +00:00
brad 78343d5643 fixed several bugs for fpga version
added sim_time check in reset code
fixed uart
runs hello uart test on fpga
2010-04-24 10:27:54 +00:00

41 lines
612 B
Verilog

// debounce.v
module debounce(clk, in, out);
input clk;
input in;
output out;
`ifdef sim_time
reg [1:0] clkdiv;
`else
reg [14:0] clkdiv;
`endif
reg slowclk;
reg [9:0] hold;
reg onetime;
initial
begin
onetime = 0;
hold = 0;
clkdiv = 0;
slowclk = 0;
end
assign out = hold == 10'b1111111111 || ~onetime;
always @(posedge clk)
begin
clkdiv <= clkdiv + 15'b1;
if (clkdiv == 0)
slowclk <= ~slowclk;
end
always @(posedge slowclk)
begin
hold <= { hold[8:0], in };
onetime <= 1;
end
endmodule