D Flip-Flop: D(Data), Clk(clock) 두 입력을 갖는 플립플롭, 출력은 보통 Q
`timescale 1ns / 1ps
// 1010111
module shift_register(
input clk,
input reset,
input in,
output out
);
reg [6:0] sr7;
always @(posedge clk, posedge reset) begin
if(reset) begin
sr7<=7'b0000000;
end else
sr7<={sr7[5:0],in}; // shift register
end
assign out=(sr7==7'b1010111) ? 1 : 0;
endmodule
옆으로 미는 연산임