Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module moduloNK #(parameter N = 10, parameter K = 1, parameter bits = clogb2(N)) (input clk, rst, input reg [bits:0] cout);
- reg [clogb2(K) - 1: 0] internalCounter;
- always @(posedge clk, posedge rst)
- if(rst)
- begin
- cout <= 0;
- internalCounter <= K;
- end
- else
- if(internalCounter == 1'b0)
- if(cout == N - 1'b1)
- cout <= 0;
- else
- cout <= cout + 1;
- always @(posedge clk)
- if(internalCounter == 1'b0)
- internalCounter <= K;
- else
- internalCounter <= internalCounter + 1;
- function clogb2(input integer value);
- for(clogb2 = 0; value > 0; clogb2 = clogb2 + 1)
- value >> 1;
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement