Guest User

Untitled

a guest
Apr 21st, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. module comp(a, b, A_gt_B, A_eq_B, A_lt_B);
  2. input [1:0] a, b;
  3. output A_gt_B, A_eq_B, A_lt_B;
  4. function [2:0] judge;
  5. input [1:0] a, b;
  6. begin
  7. if(a == b)
  8. judge = 3'b010;
  9. else
  10. if(a < b)
  11. judge = 3'b001;
  12. else
  13. judge = 3'b100;
  14. end
  15. endfunction
  16. assign A_gt_B = (judge(a, b) >> 2) & 1'b1;
  17. assign A_eq_B = (judge(a, b) >> 1) & 1'b1;
  18. assign A_lt_B = judge(a, b) & 1'b1;
  19. endmodule
  20. module main;
  21. reg[1:0] a, b;
  22. wire A_gt_B, A_eq_B, A_lt_B;
  23. initial
  24. begin
  25. $dumpfile("comp_vcd");
  26. $dumpvars(0, main);
  27. $monitor("%t: a:%b b:%b A > B:%b A = B:%b A < B:%b", $time, a, b, A_gt_B, A_eq_B, A_lt_B);
  28. a <= 0;
  29. b <= 0;
  30. #16
  31. $finish;
  32. end
  33. always #1
  34. a<=a+1;
  35. always #4
  36. b<=b+1;
  37. comp inst0 (a, b, A_gt_B, A_eq_B, A_lt_B);
  38. endmodule
Add Comment
Please, Sign In to add comment