// 12 bit shift register
//
//  Author: Andrew Iverson
//  Date: 12-11-99
//
//--------------------------

module shift_reg(p12_data_out, prbs_clk, s_data_in, n_reset);

  output [11:0] p12_data_out;
  input prbs_clk, s_data_in, n_reset;

  reg [11:0] p12_data_out;

  always @ (posedge prbs_clk or negedge n_reset)
  begin
    if (!n_reset)
	begin
	  p12_data_out[11] <= 1'b0; 
      p12_data_out[10] <= 1'b0; 
      p12_data_out[9] <= 1'b0;
      p12_data_out[8] <= 1'b0;
      p12_data_out[7] <= 1'b0; 
      p12_data_out[6] <= 1'b0;
      p12_data_out[5] <= 1'b0;
      p12_data_out[4] <= 1'b0;
      p12_data_out[3] <= 1'b0;
      p12_data_out[2] <= 1'b0; 
      p12_data_out[1] <= 1'b0; 
      p12_data_out[0] <= 1'b0;
	end
	else
	begin

      p12_data_out[11] <= p12_data_out[10]; 
      p12_data_out[10] <= p12_data_out[9]; 
      p12_data_out[9] <= p12_data_out[8]; 
      p12_data_out[8] <= p12_data_out[7]; 
      p12_data_out[7] <= p12_data_out[6]; 
      p12_data_out[6] <= p12_data_out[5]; 
      p12_data_out[5] <= p12_data_out[4]; 
      p12_data_out[4] <= p12_data_out[3]; 
      p12_data_out[3] <= p12_data_out[2]; 
      p12_data_out[2] <= p12_data_out[1]; 
      p12_data_out[1] <= p12_data_out[0];
 	  p12_data_out[0] <= s_data_in;
    end
  end

endmodule
