1.serial receiver
module top_module(
input clk,
input in,
input reset,
output done
);
parameter[3:0] start =4'd0;
parameter[3:0] one = 4'd1;
parameter[3:0] two = 4'd2;
parameter[3:0] three = 4'd3;
parameter[3:0] four = 4'd4;
parameter[3:0] five = 4'd5;
parameter[3:0] six = 4'd6;
parameter[3:0] seven = 4'd7;
parameter[3:0] eight = 4'd8;
parameter[3:0] stop = 4'd9;
parameter[3:0] idle = 4'd10;
parameter[3:0] w = 4'd11;
reg[3:0] state;
reg[3:0] next_state;
always @(*) begin
case(state)
start: next_state = one;
one: next_state = two;
two: next_state = three;
three: next_state = four;
four: next_state = five;
five: next_state = six;
six: next_state = seven;
seven: next_state = eight;
eight:
begin
if(in)
next_state = stop;
else
next_state = w;
end
stop:
begin
if(in)
next_state = idle;
else
next_state = start;
end
w:
begin
if(in)
next_state = idle;
else
next_state = w;
end

最低0.47元/天 解锁文章
294

被折叠的 条评论
为什么被折叠?



