Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `timescale 1ns / 1ps
- //////////////////////////////////////////////////////////////////////////////////
- // Company:
- // Engineer:
- //
- // Create Date: 20:48:23 04/17/2014
- // Design Name:
- // Module Name: Counter_4_Bit
- // Project Name:
- // Target Devices:
- // Tool versions:
- // Description:
- //
- // Dependencies:
- //
- // Revision:
- // Revision 0.01 - File Created
- // Additional Comments:
- //
- //////////////////////////////////////////////////////////////////////////////////
- module Counter_4_Bit(Clock, Reset, LED0, LED1, LED2, LED3);
- input Clock, Reset;
- output reg LED0, LED1, LED2, LED3;
- reg CS1, CS0;
- reg NS1, NS0;
- always @(CS1, CS0, Clock, Reset)
- begin
- case ({CS1, CS0, Clock, Reset})
- 4'b0011: {NS1, NS0}=2'b00;
- 4'b0010: {NS1, NS0}=2'b01;
- 4'b0110: {NS1, NS0}=2'b10;
- 4'b1010: {NS1, NS0}=2'b11;
- 4'b1110: {NS1, NS0}=2'b00;
- 4'b0000: {NS1, NS0}=2'b00;
- 4'b0100: {NS1, NS0}=2'b01;
- 4'b1000: {NS1, NS0}=2'b10;
- 4'b1100: {NS1, NS0}=2'b11;
- default: {NS1, NS0}=2'b00;
- endcase
- end
- always @(CS1, CS0)
- begin
- case ({CS1, CS0})
- 2'b00: {LED0, LED1, LED2, LED3}=4'b1000;
- 2'b01: {LED0, LED1, LED2, LED3}=4'b0100;
- 2'b10: {LED0, LED1, LED2, LED3}=4'b0010;
- 2'b11: {LED0, LED1, LED2, LED3}=4'b0001;
- default: {LED0, LED1, LED2, LED3}=4'b0000;
- endcase
- end
- always @(posedge Clock)
- begin
- if (Reset==1'b1)
- begin
- {CS1,CS0}=2'b00;
- end
- else
- begin
- {CS1,CS0}={NS1,NS0};
- end
- end
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement