Advertisement
Andrei_M

mux 4:1

Oct 22nd, 2019
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module mux_2s #(parameter w = 8)
  2.   (input [w-1:0] d0, d1, d2, d3,
  3.   input [1:0] s,
  4.   output reg [w-1:0] o);
  5.  
  6.   always @ (*)
  7.     if(s == 2'd3) o = d3;
  8.     else if( s == 2'd2) o = d2;
  9.     else if(s == 2'd1) o = d1;
  10.     else o = d0;
  11. endmodule;
  12.  
  13.  
  14.  
  15.  
  16. module mux_2s_tb(
  17.   output reg [1:0] d0, d1, d2, d3,
  18.   output reg [1:0] s,
  19.   output [1:0] o
  20. );
  21.   mux_2s #(
  22.   .w(2) //initialize param w
  23.   ) a( //name of the instance
  24.   .s(s),
  25.   .d0(d0),
  26.   .d1(d1),
  27.   .d2(d2),
  28.   .d3(d3),
  29.   .o(o)
  30.   );
  31.   integer i;  
  32.   initial begin
  33.     {s, d0, d1, d2, d3} = 10'd0;
  34.     for(i = 1; i < 1024; i = i+1)
  35.     #100 {s, d0, d1, d2, d3} = i[9:0];
  36.   end
  37. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement