Skip to content

Commit 0016dd4

Browse files
committed
cn0577_adaq2387x: Partial fix - dco_init generation
Signed-off-by: Stanca Pop <stanca.pop@analog.com>
1 parent 4f5655c commit 0016dd4

File tree

3 files changed

+39
-40
lines changed

3 files changed

+39
-40
lines changed

testbenches/project/cn0577_adaq2387x/system_tb.sv

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,19 @@
3939

4040
module system_tb();
4141

42-
// reg signals
43-
44-
reg dco_init = 1'b0;
45-
reg ref_clk_out = 1'b0;
46-
reg clk_gate = 1'b0;
47-
reg da_p = 1'b0;
48-
reg da_n = 1'b0;
49-
reg db_p = 1'b0;
50-
reg db_n = 1'b0;
51-
52-
wire cnv;
42+
wire ref_clk_out;
43+
wire clk_gate;
44+
wire da_p;
45+
wire da_n;
46+
wire db_p;
47+
wire db_n;
48+
wire cnv;
5349

5450
// test bench variables
5551

5652
`TEST_PROGRAM test(
5753
.ref_clk_out (ref_clk_out),
5854
.clk_gate (clk_gate),
59-
.dco_in (dco_init),
6055
.dco_p (dco_p),
6156
.dco_n (dco_n),
6257
.da_p (da_p),

testbenches/project/cn0577_adaq2387x/tests/test_program.sv

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ localparam NUM_OF_TRANSFERS = 16;
5252
program test_program (
5353
input ref_clk_out,
5454
input clk_gate,
55-
input dco_in,
5655
output da_n,
5756
output da_p,
5857
output db_n,
@@ -160,30 +159,31 @@ parameter int num_of_dco = N / 2;
160159
// dco delay compared to the reference clk
161160
localparam DCO_DELAY = 12;
162161

163-
reg dco_init = 1'b0;
162+
// ---------------------------------------------------------------------------
163+
// Creating a "gate" through which the data clock can run (and only then)
164+
// ---------------------------------------------------------------------------
164165

165-
// ---------------------------------------------------------------------------
166-
// Creating a "gate" through which the data clock can run (and only then)
167-
// ---------------------------------------------------------------------------
166+
reg dco_init;
168167

169-
initial begin
168+
initial begin
169+
dco_init = 1'b0;
170170
forever begin
171-
@(posedge clk_gate, negedge clk_gate)
172-
if (clk_gate == 1'b1) begin
173-
dco_init = ref_clk_out;
174-
end else begin
175-
dco_init = 1'b0;
176-
end
171+
@(posedge clk_gate or negedge clk_gate);
172+
if (clk_gate)
173+
dco_init = ref_clk_out;
174+
else
175+
dco_init = 1'b0;
177176
end
178177
end
179178

180-
// ---------------------------------------------------------------------------
181-
// Data clocks generation
182-
// ---------------------------------------------------------------------------
179+
180+
// ---------------------------------------------------------------------------
181+
// Data clocks generation
182+
// ---------------------------------------------------------------------------
183183

184184
initial begin
185185
forever begin
186-
@(posedge dco_in, negedge dco_in) begin
186+
@(posedge dco_init, negedge dco_init) begin
187187
dco_p <= #DCO_DELAY dco_init;
188188
dco_n <= #DCO_DELAY ~dco_init;
189189
end
@@ -213,7 +213,7 @@ assign db_n = r_db_n;
213213

214214
initial begin
215215
forever begin
216-
@ (posedge dco_in, negedge dco_in) begin
216+
@ (posedge dco_init, negedge dco_init) begin
217217
if (`TWOLANES == 1) begin
218218
r_da_p = data_shift[`ADC_RES - 1];
219219
r_da_n = ~data_shift[`ADC_RES - 1];
@@ -243,7 +243,7 @@ end
243243

244244
initial begin
245245
forever begin
246-
@(posedge dco_in);
246+
@(posedge dco_init);
247247
if (transfer_status) begin
248248
if (`ADC_RES == 16) begin
249249
if (`TWOLANES == 0) begin
@@ -267,7 +267,7 @@ initial begin
267267
end
268268
end
269269
end
270-
@(negedge dco_in);
270+
@(negedge dco_init);
271271
end
272272
end
273273

testbenches/project/cn0577_adaq2387x/waves/system_tb_behav.wcfg

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,27 @@
4343
</db_ref>
4444
</db_ref_list>
4545
<zoom_setting>
46-
<ZoomStartTime time="2,310.252936 us"></ZoomStartTime>
47-
<ZoomEndTime time="3,074.252937 us"></ZoomEndTime>
48-
<Cursor1Time time="2,610.252936 us"></Cursor1Time>
46+
<ZoomStartTime time="0.000000 us"></ZoomStartTime>
47+
<ZoomEndTime time="6.608306 us"></ZoomEndTime>
48+
<Cursor1Time time="0.000232 us"></Cursor1Time>
4949
</zoom_setting>
5050
<column_width_setting>
51-
<NameColumnWidth column_width="169"></NameColumnWidth>
51+
<NameColumnWidth column_width="161"></NameColumnWidth>
5252
<ValueColumnWidth column_width="66"></ValueColumnWidth>
5353
</column_width_setting>
54-
<WVObjectSize size="22" />
55-
<wvobject type="logic" fp_name="/system_tb/test/ref_clk">
56-
<obj_property name="ElementShortName">ref_clk</obj_property>
57-
<obj_property name="ObjectShortName">ref_clk</obj_property>
58-
</wvobject>
54+
<WVObjectSize size="23" />
5955
<wvobject type="logic" fp_name="/system_tb/test_harness/axi_ltc2387/clk_gate">
6056
<obj_property name="ElementShortName">clk_gate</obj_property>
6157
<obj_property name="ObjectShortName">clk_gate</obj_property>
6258
</wvobject>
59+
<wvobject type="logic" fp_name="/system_tb/ref_clk_out">
60+
<obj_property name="ElementShortName">ref_clk_out</obj_property>
61+
<obj_property name="ObjectShortName">ref_clk_out</obj_property>
62+
</wvobject>
63+
<wvobject type="logic" fp_name="/system_tb/test/dco_init">
64+
<obj_property name="ElementShortName">dco_init</obj_property>
65+
<obj_property name="ObjectShortName">dco_init</obj_property>
66+
</wvobject>
6367
<wvobject type="logic" fp_name="/system_tb/test/dco_in">
6468
<obj_property name="ElementShortName">dco_in</obj_property>
6569
<obj_property name="ObjectShortName">dco_in</obj_property>

0 commit comments

Comments
 (0)