1
0
mirror of https://github.com/olofk/serv.git synced 2026-01-13 23:25:57 +00:00
olofk.serv/rtl/shift_reg.v
2018-12-11 22:05:32 +01:00

21 lines
435 B
Verilog

module shift_reg
#(parameter LEN = 0,
parameter INIT = 0)
(
input wire clk,
input wire i_rst,
input wire i_en,
input wire i_d,
output wire o_q,
output wire [LEN-2:0] o_par);
reg [LEN-1:0] data = INIT;
assign o_q = data[0];
assign o_par = data[LEN-1:1];
always @(posedge clk)
if (i_rst)
data <= INIT;
else if (i_en)
data <= {i_d, data[LEN-1:1]};
endmodule