@@ -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