用一个数据存储序列,不断移位,然后一直发送某一位,感觉代码更简单一点。
`timescale 1ns/1ns
module sequence_generator(
input clk,
input rst_n,
output reg data
);
reg [5:0] q;
always@(posedge clk or negedge rst_n)
if (!rst_n)
q <= 6'b001011;
else
q <= {q[4:0],q[5]};
always@(posedge clk or negedge rst_n)
if (!rst_n)
data <= 1'd0;
else
data <= q[5];
endmodule