Skip to content

Commit 5a4aa09

Browse files
committed
DLY_VALUE_MUX tb updated
1 parent 71a4d4e commit 5a4aa09

File tree

2 files changed

+350
-54
lines changed

2 files changed

+350
-54
lines changed

sim_models/tb/DLY_VALUE_MUX_tb.v

Lines changed: 175 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,51 @@ module DLY_VALUE_MUX_tb;
44
// Parameters
55

66
//Ports
7-
reg [5:0] DLY_TAP_VAL_ARRAY[19:0];
7+
reg [5:0] DLY_TAP0_VAL;
8+
reg [5:0] DLY_TAP1_VAL;
9+
reg [5:0] DLY_TAP2_VAL;
10+
reg [5:0] DLY_TAP3_VAL;
11+
reg [5:0] DLY_TAP4_VAL;
12+
reg [5:0] DLY_TAP5_VAL;
13+
reg [5:0] DLY_TAP6_VAL;
14+
reg [5:0] DLY_TAP7_VAL;
15+
reg [5:0] DLY_TAP8_VAL;
16+
reg [5:0] DLY_TAP9_VAL;
17+
reg [5:0] DLY_TAP10_VAL;
18+
reg [5:0] DLY_TAP11_VAL;
19+
reg [5:0] DLY_TAP12_VAL;
20+
reg [5:0] DLY_TAP13_VAL;
21+
reg [5:0] DLY_TAP14_VAL;
22+
reg [5:0] DLY_TAP15_VAL;
23+
reg [5:0] DLY_TAP16_VAL;
24+
reg [5:0] DLY_TAP17_VAL;
25+
reg [5:0] DLY_TAP18_VAL;
26+
reg [5:0] DLY_TAP19_VAL;
827
reg [4:0] DLY_ADDR;
928
wire [5:0] DLY_TAP_VALUE;
29+
integer error=0;
1030

1131
DLY_VALUE_MUX DLY_VALUE_MUX_inst (
12-
.DLY_TAP_VAL_ARRAY(DLY_TAP_VAL_ARRAY),
32+
.DLY_TAP0_VAL(DLY_TAP0_VAL),
33+
.DLY_TAP1_VAL(DLY_TAP1_VAL),
34+
.DLY_TAP2_VAL(DLY_TAP2_VAL),
35+
.DLY_TAP3_VAL(DLY_TAP3_VAL),
36+
.DLY_TAP4_VAL(DLY_TAP4_VAL),
37+
.DLY_TAP5_VAL(DLY_TAP5_VAL),
38+
.DLY_TAP6_VAL(DLY_TAP6_VAL),
39+
.DLY_TAP7_VAL(DLY_TAP7_VAL),
40+
.DLY_TAP8_VAL(DLY_TAP8_VAL),
41+
.DLY_TAP9_VAL(DLY_TAP9_VAL),
42+
.DLY_TAP10_VAL(DLY_TAP10_VAL),
43+
.DLY_TAP11_VAL(DLY_TAP11_VAL),
44+
.DLY_TAP12_VAL(DLY_TAP12_VAL),
45+
.DLY_TAP13_VAL(DLY_TAP13_VAL),
46+
.DLY_TAP14_VAL(DLY_TAP14_VAL),
47+
.DLY_TAP15_VAL(DLY_TAP15_VAL),
48+
.DLY_TAP16_VAL(DLY_TAP16_VAL),
49+
.DLY_TAP17_VAL(DLY_TAP17_VAL),
50+
.DLY_TAP18_VAL(DLY_TAP18_VAL),
51+
.DLY_TAP19_VAL(DLY_TAP19_VAL),
1352
.DLY_ADDR(DLY_ADDR),
1453
.DLY_TAP_VALUE(DLY_TAP_VALUE)
1554
);
@@ -18,37 +57,145 @@ module DLY_VALUE_MUX_tb;
1857
initial
1958
begin
2059
DLY_ADDR=0;
21-
for(integer i=0;i<20;i=i+1)
22-
DLY_TAP_VAL_ARRAY[i]=5'd0;
60+
DLY_TAP0_VAL = $urandom;
61+
DLY_TAP1_VAL = $urandom;
62+
DLY_TAP2_VAL = $urandom;
63+
DLY_TAP3_VAL = $urandom;
64+
DLY_TAP4_VAL = $urandom;
65+
DLY_TAP5_VAL = $urandom;
66+
DLY_TAP6_VAL = $urandom;
67+
DLY_TAP7_VAL = $urandom;
68+
DLY_TAP8_VAL = $urandom;
69+
DLY_TAP9_VAL = $urandom;
70+
DLY_TAP10_VAL = $urandom;
71+
DLY_TAP11_VAL = $urandom;
72+
DLY_TAP12_VAL = $urandom;
73+
DLY_TAP13_VAL = $urandom;
74+
DLY_TAP14_VAL = $urandom;
75+
DLY_TAP15_VAL = $urandom;
76+
DLY_TAP16_VAL = $urandom;
77+
DLY_TAP17_VAL = $urandom;
78+
DLY_TAP18_VAL = $urandom;
79+
DLY_TAP19_VAL = $urandom;
2380
#5;
24-
for(integer i=0;i<20;i=i+1)
25-
DLY_TAP_VAL_ARRAY[i]=$urandom;
26-
27-
// #1;
28-
// for(integer i=0;i<20;i=i+1)
29-
// $display("DLY_TAP_VAL_ARRAY[%0d] = %b", i, DLY_TAP_VAL_ARRAY[i]);
30-
#5;
31-
repeat(10)
81+
repeat(100)
3282
begin
33-
DLY_ADDR=$urandom;
34-
83+
DLY_ADDR = $urandom;
3584
#10;
36-
if(DLY_ADDR<20)
85+
if(DLY_ADDR===0)
86+
begin
87+
if(DLY_TAP_VALUE!==DLY_TAP0_VAL)
88+
error++;
89+
end
90+
91+
if(DLY_ADDR===1)
92+
begin
93+
if(DLY_TAP_VALUE!==DLY_TAP1_VAL)
94+
error++;
95+
end
96+
97+
if(DLY_ADDR===2)
98+
begin
99+
if(DLY_TAP_VALUE!==DLY_TAP2_VAL)
100+
error++;
101+
end
102+
if(DLY_ADDR===3)
103+
begin
104+
if(DLY_TAP_VALUE!==DLY_TAP3_VAL)
105+
error++;
106+
end
107+
if(DLY_ADDR===4)
108+
begin
109+
if(DLY_TAP_VALUE!==DLY_TAP4_VAL)
110+
error++;
111+
end
112+
if(DLY_ADDR===5)
113+
begin
114+
if(DLY_TAP_VALUE!==DLY_TAP5_VAL)
115+
error++;
116+
end
117+
if(DLY_ADDR===6)
118+
begin
119+
if(DLY_TAP_VALUE!==DLY_TAP6_VAL)
120+
error++;
121+
end
122+
if(DLY_ADDR===7)
123+
begin
124+
if(DLY_TAP_VALUE!==DLY_TAP7_VAL)
125+
error++;
126+
end
127+
if(DLY_ADDR===8)
128+
begin
129+
if(DLY_TAP_VALUE!==DLY_TAP8_VAL)
130+
error++;
131+
end
132+
if(DLY_ADDR===9)
133+
begin
134+
if(DLY_TAP_VALUE!==DLY_TAP9_VAL)
135+
error++;
136+
end
137+
if(DLY_ADDR===10)
138+
begin
139+
if(DLY_TAP_VALUE!==DLY_TAP10_VAL)
140+
error++;
141+
end
142+
if(DLY_ADDR===11)
143+
begin
144+
if(DLY_TAP_VALUE!==DLY_TAP11_VAL)
145+
error++;
146+
end
147+
if(DLY_ADDR===12)
148+
begin
149+
if(DLY_TAP_VALUE!==DLY_TAP12_VAL)
150+
error++;
151+
end
152+
if(DLY_ADDR===13)
153+
begin
154+
if(DLY_TAP_VALUE!==DLY_TAP13_VAL)
155+
error++;
156+
end
157+
if(DLY_ADDR===14)
158+
begin
159+
if(DLY_TAP_VALUE!==DLY_TAP14_VAL)
160+
error++;
161+
end
162+
if(DLY_ADDR===15)
163+
begin
164+
if(DLY_TAP_VALUE!==DLY_TAP15_VAL)
165+
error++;
166+
end
167+
if(DLY_ADDR===16)
168+
begin
169+
if(DLY_TAP_VALUE!==DLY_TAP16_VAL)
170+
error++;
171+
end
172+
if(DLY_ADDR===17)
173+
begin
174+
if(DLY_TAP_VALUE!==DLY_TAP17_VAL)
175+
error++;
176+
end
177+
if(DLY_ADDR===18)
178+
begin
179+
if(DLY_TAP_VALUE!==DLY_TAP18_VAL)
180+
error++;
181+
end
182+
if(DLY_ADDR===19)
183+
begin
184+
if(DLY_TAP_VALUE!==DLY_TAP19_VAL)
185+
error++;
186+
end
187+
if(DLY_ADDR>20)
37188
begin
38-
if(DLY_TAP_VALUE===DLY_TAP_VAL_ARRAY[DLY_ADDR])
39-
$display("Test Passed");
40-
else
41-
$display("Test Failed");
42-
end
43-
else
44-
begin
45-
if(DLY_TAP_VALUE===5'd0)
46-
$display("Test Passed");
47-
else
48-
$display("Test Failed");
189+
if(DLY_TAP_VALUE!==5'd0)
190+
error++;
49191
end
192+
50193
#100;
51194
end
195+
if(error===0)
196+
$display("Test Passed");
197+
else
198+
$display("Test Failed");
52199
#1000;
53200
$finish;
54201
end
@@ -57,4 +204,5 @@ module DLY_VALUE_MUX_tb;
57204
$dumpfile("waves.vcd");
58205
$dumpvars;
59206
end
60-
endmodule
207+
208+
endmodule

0 commit comments

Comments
 (0)