File tree Expand file tree Collapse file tree 3 files changed +39
-18
lines changed
testbenches/project/cn0577_adaq2387x Expand file tree Collapse file tree 3 files changed +39
-18
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,29 @@ if {$CN0577_ADAQ2387X_N == 1} {
5454ad_disconnect sys_200m_clk axi_ltc2387/delay_clk
5555ad_connect sys_dma_clk axi_ltc2387/delay_clk
5656
57+ delete_bd_objs [get_bd_nets ref_clk_1]
58+
59+ if {$CN0577_ADAQ2387X_N == 1} {
60+ # 120MHz ref_clk for cn0577
61+ set ref_freq 120000000
62+ } else {
63+ # 100Mhz ref_clk for adaq2387x
64+ set ref_freq 100000000
65+ }
66+
67+ ad_ip_instance clk_vip ref_clk_vip [ list \
68+ INTERFACE_MODE {MASTER} \
69+ FREQ_HZ $ref_freq \
70+ ]
71+
72+ adi_sim_add_define " REF_CLK=ref_clk_vip"
73+
74+ create_bd_port -dir O ref_clk_out
75+ ad_connect ref_clk_out ref_clk_vip/clk_out
76+ ad_connect axi_ltc2387/ref_clk ref_clk_vip/clk_out
77+ ad_connect axi_ltc2387_dma/fifo_wr_clk ref_clk_vip/clk_out
78+ ad_connect axi_pwm_gen/ext_clk ref_clk_vip/clk_out
79+
5780set BA_AXI_LTC2387 0x44A00000
5881set_property offset $BA_AXI_LTC2387 [get_bd_addr_segs {mng_axi_vip/Master_AXI/SEG_data_axi_ltc2387}]
5982adi_sim_add_define " AXI_LTC2387_BA=[ format " %d" ${BA_AXI_LTC2387} ] "
Original file line number Diff line number Diff line change @@ -41,12 +41,9 @@ module system_tb();
4141
4242 // reg signals
4343
44- reg ref_clk = 1'b0 ;
4544 reg dco_init = 1'b0 ;
46- reg cnv_out = 1'b0 ;
45+ reg ref_clk_out = 1'b0 ;
4746 reg clk_gate = 1'b0 ;
48- reg dco_p;
49- reg dco_n;
5047 reg da_p = 1'b0 ;
5148 reg da_n = 1'b0 ;
5249 reg db_p = 1'b0 ;
@@ -56,10 +53,8 @@ module system_tb();
5653
5754 // test bench variables
5855
59- always # 25 ref_clk = ~ ref_clk;
60-
6156 `TEST_PROGRAM test (
62- .ref_clk (ref_clk ),
57+ .ref_clk_out (ref_clk_out ),
6358 .clk_gate (clk_gate),
6459 .dco_in (dco_init),
6560 .dco_p (dco_p),
@@ -71,10 +66,7 @@ module system_tb();
7166 .cnv (cnv));
7267
7368 test_harness `TH (
74- .ref_clk (ref_clk),
75- .sampling_clk (sampling_clk),
76- .dco_p (dco_p),
77- .dco_n (dco_n),
69+ .ref_clk_out (ref_clk_out),
7870 .cnv (cnv),
7971 .da_n (da_n),
8072 .da_p (da_p),
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ import `PKGIFY(test_harness, ddr_axi_vip)::*;
5050localparam NUM_OF_TRANSFERS = 16 ;
5151
5252program test_program (
53- input ref_clk ,
53+ input ref_clk_out ,
5454 input clk_gate,
5555 input dco_in,
5656 output da_n,
@@ -109,6 +109,9 @@ initial begin
109109 setLoggerVerbosity (ADI_VERBOSITY_NONE );
110110
111111 base_env.start ();
112+
113+ `TH .`REF_CLK .inst.IF .start_clock ();
114+
112115 base_env.sys_reset ();
113116
114117 sanity_tests ();
@@ -117,6 +120,8 @@ initial begin
117120
118121 base_env.stop ();
119122
123+ `TH .`REF_CLK .inst.IF .stop_clock ();
124+
120125 `INFO ((" Test Done" ), ADI_VERBOSITY_NONE );
121126 $finish ();
122127
@@ -163,11 +168,12 @@ reg dco_init = 1'b0;
163168
164169 initial begin
165170 forever begin
166- if (clk_gate == 1'b1 ) begin
167- dco_init = ref_clk;
168- end else begin
169- dco_init = 1'b0 ;
170- end
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
171177 end
172178end
173179
@@ -358,7 +364,7 @@ task data_acquisition_test();
358364
359365 # 100ns ;
360366 @ (negedge cnv);
361- @ (posedge ref_clk );
367+ @ (posedge ref_clk_out );
362368 transfer_status = 0 ;
363369
364370 // @(posedge system_tb.test_harness.axi_ltc2387_dma.irq);
You can’t perform that action at this time.
0 commit comments