Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.45 KB | None | 0 0
  1. module ucounter(clk, nclr, cin, cout, q);
  2. parameter maxcnt=15; //default =HEX counter
  3. input clk;
  4. input nclr;
  5. input cin;
  6. output cout;
  7. output [3:0] q;
  8. reg [3:0] cnt;
  9.  
  10. assign q=cnt;
  11.  
  12. always @(posedge clk or negedge nclr) begin
  13. if(nclr==1'b0) begin
  14. cnt=4'h0;
  15. end
  16. else begin
  17. if(cin==1'b1) begin
  18. if(cnt==maxcnt)
  19. cnt=4'h0;
  20. else
  21. cnt=cnt+1;
  22. end
  23. end
  24. end
  25.  
  26. assign cout=((cnt==maxcnt) && (cin==1'b1)) ? 1'b1 : 1'b0;
  27. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement