shift_register.v 401 B

1234567891011121314151617181920212223242526
  1. `timescale 1 ns / 1 ps
  2. module shift_register #
  3. (
  4. parameter integer DATA_WIDTH = 8
  5. )
  6. (
  7. input wire aclk,
  8. input wire [DATA_WIDTH-1:0] din,
  9. output wire [DATA_WIDTH-1:0] dout
  10. );
  11. reg [DATA_WIDTH-1:0] int_data_reg [1:0];
  12. always @(posedge aclk)
  13. begin
  14. int_data_reg[0] <= din;
  15. int_data_reg[1] <= int_data_reg[0];
  16. end
  17. assign dout = int_data_reg[1];
  18. endmodule