﻿/*
４ビット・シフト・レジスタ（同期リセット）

シフト演算、または連接演算による記述が可能

*/

module shift4( ck, res, en, si, q );
input           ck, res, en, si;
output  [3:0]   q;
reg     [3:0]   q;

always @( posedge ck ) begin
    if ( res )
        q <= 4'h0;
    else if ( en ) begin
        q    <= q << 1;
        q[0] <= si;

//	q    <= { q, si };

    end
end

endmodule
