Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date:    20:48:23 04/17/2014
  7. // Design Name:
  8. // Module Name:    Counter_4_Bit
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module Counter_4_Bit(Clock, Reset, LED0, LED1, LED2, LED3);
  22. input Clock, Reset;
  23. output reg LED0, LED1, LED2, LED3;
  24.  
  25. reg CS1, CS0;
  26. reg NS1, NS0;
  27.  
  28. always @(CS1, CS0, Clock, Reset)
  29.     begin
  30.         case ({CS1, CS0, Clock, Reset})
  31.             4'b0011:    {NS1, NS0}=2'b00;
  32.            
  33.             4'b0010:    {NS1, NS0}=2'b01;
  34.             4'b0110:    {NS1, NS0}=2'b10;
  35.             4'b1010:    {NS1, NS0}=2'b11;
  36.             4'b1110:    {NS1, NS0}=2'b00;
  37.            
  38.             4'b0000:    {NS1, NS0}=2'b00;
  39.             4'b0100:    {NS1, NS0}=2'b01;
  40.             4'b1000:    {NS1, NS0}=2'b10;
  41.             4'b1100:    {NS1, NS0}=2'b11;
  42.            
  43.             default:    {NS1, NS0}=2'b00;
  44.         endcase
  45.     end
  46.  
  47. always @(CS1, CS0)
  48.     begin
  49.         case ({CS1, CS0})
  50.             2'b00: {LED0, LED1, LED2, LED3}=4'b1000;
  51.             2'b01: {LED0, LED1, LED2, LED3}=4'b0100;
  52.             2'b10: {LED0, LED1, LED2, LED3}=4'b0010;
  53.             2'b11: {LED0, LED1, LED2, LED3}=4'b0001;
  54.             default:    {LED0, LED1, LED2, LED3}=4'b0000;
  55.         endcase
  56.     end
  57.  
  58. always @(posedge Clock)
  59.     begin
  60.         if (Reset==1'b1)
  61.             begin
  62.                 {CS1,CS0}=2'b00;
  63.             end
  64.         else
  65.             begin
  66.                 {CS1,CS0}={NS1,NS0};
  67.             end
  68.     end
  69.  
  70. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement