Advertisement
Guest User

Untitled

a guest
Jun 13th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns/1ps
  2.  
  3. module lab1_test;
  4.  
  5. localparam WIDTH = 4;
  6. logic [WIDTH-1:0] data;
  7. logic a, b;
  8. logic [1:0] sel;
  9. logic ref_val, out_val;
  10.  
  11. initial
  12. begin
  13.  
  14.     data=0;
  15.     repeat (2**WIDTH)
  16.     begin
  17.         #1 $strobe("module value: %d; ref value: %b; ref: %b",out_val, ref_val, (ref_val==out_val));
  18.  
  19.         #9 data=data+1;
  20.     end
  21.  
  22. $stop;
  23. end
  24.  
  25. assign a = data[0];
  26. assign b = data[1];
  27. assign sel = data [3:2];
  28.  
  29. lab1 uut_inst(.sel(sel), .a(a), .b(b), .Y(out_val));
  30.  
  31. always_comb
  32. begin
  33.     ref_val = (sel[1] & ~a & ~b )| (sel[1] & a & b) | (sel[0] & a & ~b) | (~sel[0] & ~a | ~sel[0] & b);
  34. end
  35.  
  36. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement