Advertisement
akatla

PIL Counter 0017

Mar 21st, 2021
1,734
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:    16:06:59 03/03/2021
  7. // Design Name:
  8. // Module Name:    deviefive
  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 deviefive
  22.     (
  23.     clk,
  24.      CLK1kHz,
  25.      CLK100Hz,
  26.      CLKCPU  
  27.     );
  28.  
  29. input clk;
  30. output CLK1kHz;
  31. output CLK100Hz;
  32. output CLKCPU;
  33.  
  34. reg [25:0]cnt = 26'd0;
  35.  
  36. assign CLKCPU = cnt[25];
  37. assign CLK1kHz = cnt[14];
  38. assign CLK100Hz = cnt[17];
  39.  
  40.     always @(posedge clk) begin
  41.         cnt[0] <= ~cnt[0];
  42.     end
  43.  
  44.     always @(posedge cnt[0]) begin
  45.         cnt[1] <= ~cnt[1];
  46.     end
  47.  
  48.     always @(posedge cnt[1]) begin
  49.         cnt[2] <= ~cnt[2];
  50.     end
  51.  
  52.     always @(posedge cnt[2]) begin
  53.         cnt[3] <= ~cnt[3];
  54.     end
  55.  
  56.     always @(posedge cnt[3]) begin
  57.         cnt[4] <= ~cnt[4];
  58.     end
  59.  
  60.     always @(posedge cnt[4]) begin
  61.         cnt[5] <= ~cnt[5];
  62.     end
  63.    
  64.     always @(posedge cnt[5]) begin
  65.         cnt[6] <= ~cnt[6];
  66.     end
  67.  
  68.     always @(posedge cnt[6]) begin
  69.         cnt[7] <= ~cnt[7];
  70.     end
  71.  
  72.     always @(posedge cnt[7]) begin
  73.         cnt[8] <= ~cnt[8];
  74.     end
  75.  
  76.     always @(posedge cnt[8]) begin
  77.         cnt[9] <= ~cnt[9];
  78.     end
  79.  
  80.     always @(posedge cnt[9]) begin
  81.         cnt[10] <= ~cnt[10];
  82.     end
  83.    
  84.     always @(posedge cnt[10]) begin
  85.         cnt[11] <= ~cnt[11];
  86.     end
  87.    
  88.     always @(posedge cnt[11]) begin
  89.         cnt[12] <= ~cnt[12];
  90.     end
  91.    
  92.     always @(posedge cnt[12]) begin
  93.         cnt[13] <= ~cnt[13];
  94.     end
  95.    
  96.     always @(posedge cnt[13]) begin
  97.         cnt[14] <= ~cnt[14]; // Unb.
  98.     end
  99.    
  100.     always @(posedge cnt[14]) begin
  101.         cnt[15] <= ~cnt[15];
  102.     end
  103.    
  104.     always @(posedge cnt[15]) begin
  105.         cnt[16] <= ~cnt[16];
  106.     end
  107.    
  108.     always @(posedge cnt[16]) begin
  109.         cnt[17] <= ~cnt[17];
  110.     end
  111.    
  112.     always @(posedge cnt[17]) begin
  113.         cnt[18] <= ~cnt[18];
  114.     end
  115.    
  116.     always @(posedge cnt[18]) begin
  117.         cnt[19] <= ~cnt[19];
  118.     end
  119.    
  120.     always @(posedge cnt[19]) begin
  121.         cnt[20] <= ~cnt[20];
  122.     end
  123.  
  124.     always @(posedge cnt[20]) begin
  125.         cnt[21] <= ~cnt[21];
  126.     end
  127.    
  128.         always @(posedge cnt[21]) begin
  129.         cnt[22] <= ~cnt[22];
  130.     end
  131.    
  132.     always @(posedge cnt[22]) begin
  133.         cnt[23] <= ~cnt[23];
  134.     end
  135.  
  136.     always @(posedge cnt[23]) begin
  137.         cnt[24] <= ~cnt[24];
  138.     end
  139.  
  140.     always @(posedge cnt[24]) begin
  141.         cnt[25] <= ~cnt[25];
  142.     end
  143.    
  144. endmodule
  145.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement