|
- [quote]//使用两位拨码开关实现8个流水灯速度调节
- module led_run(mclk,data_in,clk_1s,clk_2s,clk_3s,clk_4s,led_out);
- input mclk;
- input [1:0] data_in;
- output clk_1s,clk_2s,clk_3s,clk_4s;
- reg [64:0] count;
- output [7:0] led_out;
- reg [7:0] led_out;
- reg [2:0] state;
- wire clk,clk_1s,clk_2s,clk_3s,clk_4s;
- always @ (posedge mclk)
- count=count+1;
- assign clk_1s=count[10];
- assign clk_2s=count[20];
- assign clk_3s=count[30];
- assign clk_4s=count[64];
- always @ (data[0] or data_in[1])
- 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[/quote]
复制代码 |
|