module button1_sync_push_release_behavioral (
    input           clk,            // CLOCK
    input           pressed,        // BUTTON IN
    output reg      out);           // PULSE FOR 1 CLOCK CYCLE

    // ALWAYS BLOCK with NON-BLOCKING PROCEDURAL ASSIGNMENT STATEMENT
    always @(posedge clk) begin
            if (pressed) begin          // BUTTON PRESSED
                out <= 1'b1;
            end else begin              //  BUTTON NOT PRESSED
                out <= 1'b0;
            end
    end

endmodule