xiaobang6513 发表于 2012-5-1 10:51:51

我做的一个用按建改变流水灯的流动速度的,可是老是有错误

//使用两位拨码开关实现8个流水灯速度调节
module led_run(mclk,data_in,clk_1s,clk_2s,clk_3s,clk_4s,led_out);
input mclk;
input data_in;
output clk_1s,clk_2s,clk_3s,clk_4s;
reg count;
output led_out;
reg led_out;
reg state;
wire clk,clk_1s,clk_2s,clk_3s,clk_4s;

always @ (posedge mclk)
        count=count+1;
        assign clk_1s=count;
        assign clk_2s=count;
        assign clk_3s=count;
        assign clk_4s=count;

always @ (data or data_in)
begin
case(data_in)
        2'b00:
                        if(data_in==2'b00)
                                always @(posedge clk_1s)
                                begin
                                case(state)
                                3'b000:        led_out=8'b00000001;
                                3'b001:        led_out=8'b00000010;
                                3'b010:        led_out=8'b00000100;
                                3'b011:        led_out=8'b00001000;
                                3'b100:        led_out=8'b00010000;
                                3'b101:        led_out=8'b00100000;
                                3'b110:        led_out=8'b01000000;
                                3'b111:        led_out=8'b10000000;
                                endcase
                                state=state+1;
                                end
                        else
                                stata=state-1;
        2'b01:
                        if(data_in==2'b00)
                                always @(posedge clk_2s)
                                begin
                                case(state)
                                3'b000:        led_out=8'b00000001;
                                3'b001:        led_out=8'b00000010;
                                3'b010:        led_out=8'b00000100;
                                3'b011:        led_out=8'b00001000;
                                3'b100:        led_out=8'b00010000;
                                3'b101:        led_out=8'b00100000;
                                3'b110:        led_out=8'b01000000;
                                3'b111:        led_out=8'b10000000;
                                endcase
                                state=state+1;
                          end
                        else
                                stata=state-1;
        2'b10:
                        if(data_in==2'b00)
                                always @(posedge clk_3s)
                                begin
                                case(state)
                                3'b000:        led_out=8'b00000001;
                                3'b001:        led_out=8'b00000010;
                                3'b010:        led_out=8'b00000100;
                                3'b011:        led_out=8'b00001000;
                                3'b100:        led_out=8'b00010000;
                                3'b101:        led_out=8'b00100000;
                                3'b110:        led_out=8'b01000000;
                                3'b111:        led_out=8'b10000000;
                                endcase
                                state=state+1;
                                end
                        else
                                stata=state-1;
        2'b11:
                        if(data_in==2'b00)
                                always @(posedge clk_4s)
                                begin
                                case(state)
                                3'b000:        led_out=8'b00000001;
                                3'b001:        led_out=8'b00000010;
                                3'b010:        led_out=8'b00000100;
                                3'b011:        led_out=8'b00001000;
                                3'b100:        led_out=8'b00010000;
                                3'b101:        led_out=8'b00100000;
                                3'b110:        led_out=8'b01000000;
                                3'b111:        led_out=8'b10000000;
                                endcase
                                state=state+1;
                                end
                        else
                                stata=state-1;       
endcase                               
end
endmodule

xiaobang6513 发表于 2012-5-1 10:52:21

大家帮我看看,哪里有问题?
页: [1]
查看完整版本: 我做的一个用按建改变流水灯的流动速度的,可是老是有错误