题解 | #序列发生器#
序列发生器
https://www.nowcoder.com/practice/1fe78a981bd640edb35b91d467341061
`timescale 1ns/1ns
module sequence_generator(
input clk,
input rst_n,
output reg data
);
/*reg [2:0] cnt;
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
cnt <= 0;
end
else begin
cnt <= (cnt == 3'd5)? 0: cnt + 1'b1;
end
end
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
data <= 0;
end
else begin
case(cnt)
0: data <= 0;
1: data <= 0;
2: data <= 1;
3: data <= 0;
4: data <= 1;
5: data <= 1;
default: data <= 0;
endcase
end
end*/
reg [5:0] data_in_reg;
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
data_in_reg <= 6'b001011;
end
else begin
data_in_reg <= {data_in_reg[4:0],data_in_reg[5]};
end
end
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
data <= 0;
end
else begin
data <= data_in_reg[5];
end
end
endmodule