36 lines
664 B
Verilog
36 lines
664 B
Verilog
`include "mux16.v"
|
|
|
|
module Mux16_test;
|
|
reg [15:0] a, b;
|
|
reg sel;
|
|
wire [15:0] out;
|
|
|
|
integer i, j;
|
|
|
|
initial begin
|
|
$dumpfile("mux16_tb.vcd");
|
|
$dumpvars;
|
|
for (i=0; i<16; i=i+1)
|
|
begin
|
|
a[i]=0;
|
|
b[i]=0;
|
|
end
|
|
for (i=15; i>=0; i=i-1)
|
|
begin
|
|
for (j=0; j<8; j=j+1)
|
|
begin
|
|
sel=(j&4)>>2;
|
|
b[i]=(j&2)>>1;
|
|
a[i]=j&1;
|
|
#1;
|
|
end
|
|
sel=0;
|
|
a[i]=0;
|
|
b[i]=0;
|
|
end
|
|
$finish();
|
|
end
|
|
|
|
Mux16 u1 (.a(a), .b(b), .sel(sel), .out(out));
|
|
endmodule
|