Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module moduloNK #(parameter N = 10, parameter K = 1, parameter bits = clogb2(N)) (input clk, rst, input reg [bits:0] cout);
  2.  
  3.     reg [clogb2(K) - 1: 0] internalCounter;
  4.  
  5.     always @(posedge clk, posedge rst)
  6.         if(rst)
  7.             begin
  8.                 cout <= 0;
  9.                 internalCounter <= K;
  10.             end
  11.         else
  12.             if(internalCounter == 1'b0)
  13.                 if(cout == N - 1'b1)
  14.                     cout <= 0;
  15.                 else
  16.                     cout <= cout + 1;
  17.  
  18.     always @(posedge clk)
  19.         if(internalCounter == 1'b0)
  20.             internalCounter <= K;
  21.         else
  22.             internalCounter <= internalCounter + 1;
  23.  
  24. function clogb2(input integer value);
  25.     for(clogb2 = 0; value > 0; clogb2 = clogb2 + 1)
  26.         value >> 1;
  27. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement