EECS151 / fpga_labs_fa20 / lab5 / src / synchronizer.v
synchronizer.v
Raw
module synchronizer #(parameter width = 1) (
    input [width-1:0] async_signal,
    input clk,
    output [width-1:0] sync_signal
);
    reg [width-1:0] mid = 0;
    reg [width-1:0] out = 0;

    assign sync_signal = out;
    always @(posedge clk) begin 
        mid <= async_signal;
        out <= mid;
    end
    
endmodule