Advertisement
Guest User

Untitled

a guest
Feb 25th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. reg R;
  2. R = $random % 2;
  3.  
  4. reg R;
  5. R = 60%(0) || 40%(1);
  6.  
  7. reg R;
  8. initial begin
  9. assert( randomize(R) with { R dist { 0 := 6, 1 := 4 }; } );
  10. end
  11.  
  12. initial begin
  13. $urandom(seed);
  14. $urandom;
  15. $urandom;
  16. end
  17.  
  18. integer temp;
  19. reg r ;
  20.  
  21. always @ ... begin
  22. temp = $urandom; //Range: +2_147_483_647 -2_147_483_648
  23. // weighting; 0 would be 50:50
  24. // real weighting is (0.1 + 0.5), 0.5 inherent from positive number.
  25. r = (temp > (2_147_483_647*0.1);
  26. end
  27.  
  28. integer R;
  29.  
  30. R = ($dist_uniform(0,100) < 60) : $dist_uniform(0,5) : $dist_uniform(6,10)
  31.  
  32. std::randomize(R) with {R dist {[0:5] :/60, [6:10] :/ 40} ;};
  33.  
  34. program top;
  35. class Packet;
  36. rand reg R;
  37. constraint percentage {R dist {1:=60,0:=40};};
  38. function void display;
  39. $display("Random Reg : %0d",this.R);
  40. endfunction
  41. endclass
  42. Packet P;
  43.  
  44. initial
  45. begin
  46. P = new;
  47. repeat(10)
  48. begin
  49. P.randomize();
  50. P.display;
  51. end
  52. end
  53. endprogram
  54.  
  55. reg [7:0] R;
  56. reg rand_bit;
  57. R = $random();
  58. if (R < 76)
  59. rand_bit = 1'b0;
  60. else
  61. rand_bit = 1'b1;
  62.  
  63. wire R;
  64. if ($random[7:0]>(40*255/100))
  65. assign R = 1'b0;
  66. else
  67. assign R = 1'b1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement