|
35 | 35 |
|
36 | 36 | global ad_project_params |
37 | 37 |
|
38 | | -source "$ad_hdl_dir/projects/common/xilinx/data_offload_bd.tcl" |
39 | | - |
40 | | -## DUT configuration |
41 | | - |
42 | | -set adc_data_path_width $ad_project_params(ADC_DATA_PATH_WIDTH) |
43 | | -set dac_data_path_width $ad_project_params(DAC_DATA_PATH_WIDTH) |
44 | | - |
45 | | -set adc_path_type $ad_project_params(ADC_PATH_TYPE) |
46 | | -set adc_offload_mem_type $ad_project_params(ADC_OFFLOAD_MEM_TYPE) |
47 | | -set adc_offload_size $ad_project_params(ADC_OFFLOAD_SIZE) |
48 | | -set adc_offload_src_dwidth $ad_project_params(ADC_OFFLOAD_SRC_DWIDTH) |
49 | | -set adc_offload_dst_dwidth $ad_project_params(ADC_OFFLOAD_DST_DWIDTH) |
50 | | - |
51 | | -set dac_path_type $ad_project_params(DAC_PATH_TYPE) |
52 | | -set dac_offload_mem_type $ad_project_params(DAC_OFFLOAD_MEM_TYPE) |
53 | | -set dac_offload_size $ad_project_params(DAC_OFFLOAD_SIZE) |
54 | | -set dac_offload_src_dwidth $ad_project_params(DAC_OFFLOAD_SRC_DWIDTH) |
55 | | -set dac_offload_dst_dwidth $ad_project_params(DAC_OFFLOAD_DST_DWIDTH) |
56 | | - |
57 | | -set plddr_offload_data_width $ad_project_params(PLDDR_OFFLOAD_DATA_WIDTH) |
58 | | - |
59 | | -ad_ip_instance xlconstant GND [list \ |
60 | | - CONST_VAL 0 \ |
| 38 | +ad_ip_instance axi4stream_vip adc_src_axis [list \ |
| 39 | + INTERFACE_MODE {MASTER} \ |
| 40 | + TDATA_NUM_BYTES 2 \ |
| 41 | + HAS_TREADY {1} \ |
| 42 | + HAS_TKEEP {1} \ |
| 43 | + HAS_TLAST {1} \ |
61 | 44 | ] |
62 | | -ad_connect gnd GND/dout |
63 | | - |
64 | | -for {set i 0} {$i < 2} {incr i} { |
65 | | - ad_ip_instance axi_dmac i_rx_dmac_${i} [list \ |
66 | | - DMA_TYPE_SRC 1 \ |
67 | | - DMA_TYPE_DEST 0 \ |
68 | | - ID 0 \ |
69 | | - AXI_SLICE_SRC 1 \ |
70 | | - AXI_SLICE_DEST 1 \ |
71 | | - SYNC_TRANSFER_START 0 \ |
72 | | - DMA_LENGTH_WIDTH 24 \ |
73 | | - DMA_2D_TRANSFER 0 \ |
74 | | - MAX_BYTES_PER_BURST 4096 \ |
75 | | - CYCLIC 0 \ |
76 | | - DMA_DATA_WIDTH_SRC $adc_offload_dst_dwidth \ |
77 | | - DMA_DATA_WIDTH_DEST 64 \ |
78 | | - ] |
79 | | - |
80 | | - ad_ip_instance axi_dmac i_tx_dmac_${i} [list \ |
81 | | - DMA_TYPE_SRC 0 \ |
82 | | - DMA_TYPE_DEST 1 \ |
83 | | - ID 0 \ |
84 | | - AXI_SLICE_SRC 1 \ |
85 | | - AXI_SLICE_DEST 1 \ |
86 | | - SYNC_TRANSFER_START 0 \ |
87 | | - DMA_LENGTH_WIDTH 24 \ |
88 | | - DMA_2D_TRANSFER 0 \ |
89 | | - MAX_BYTES_PER_BURST 4096 \ |
90 | | - CYCLIC 1 \ |
91 | | - DMA_DATA_WIDTH_SRC 64 \ |
92 | | - DMA_DATA_WIDTH_DEST $dac_offload_src_dwidth \ |
93 | | - ] |
94 | | - |
95 | | - ad_data_offload_create RX_DUT_${i} \ |
96 | | - 0 \ |
97 | | - $adc_offload_mem_type \ |
98 | | - $adc_offload_size \ |
99 | | - $adc_offload_src_dwidth \ |
100 | | - $adc_offload_dst_dwidth \ |
101 | | - $plddr_offload_data_width |
102 | | - |
103 | | - ad_data_offload_create TX_DUT_${i} \ |
104 | | - 1 \ |
105 | | - $dac_offload_mem_type \ |
106 | | - $dac_offload_size \ |
107 | | - $dac_offload_src_dwidth \ |
108 | | - $dac_offload_dst_dwidth \ |
109 | | - $plddr_offload_data_width |
110 | | - |
111 | | - set BA 0x50000000 |
112 | | - ad_cpu_interconnect [expr ${BA} + 0x00000 + $i*0x40000] i_rx_dmac_${i} |
113 | | - ad_cpu_interconnect [expr ${BA} + 0x10000 + $i*0x40000] i_tx_dmac_${i} |
114 | | - ad_cpu_interconnect [expr ${BA} + 0x20000 + $i*0x40000] RX_DUT_${i} |
115 | | - ad_cpu_interconnect [expr ${BA} + 0x30000 + $i*0x40000] TX_DUT_${i} |
116 | | - |
117 | | - adi_sim_add_define "RX_DMA_BA_${i}=[format "%d" [expr ${BA} + 0x00000 + $i*0x40000]]" |
118 | | - adi_sim_add_define "TX_DMA_BA_${i}=[format "%d" [expr ${BA} + 0x10000 + $i*0x40000]]" |
119 | | - adi_sim_add_define "RX_DOFF_BA_${i}=[format "%d" [expr ${BA} + 0x20000 + $i*0x40000]]" |
120 | | - adi_sim_add_define "TX_DOFF_BA_${i}=[format "%d" [expr ${BA} + 0x30000 + $i*0x40000]]" |
| 45 | +adi_sim_add_define "ADC_SRC_AXIS=adc_src_axis" |
121 | 46 |
|
122 | | - ad_ip_instance axi4stream_vip adc_src_axis_${i} [list \ |
123 | | - INTERFACE_MODE {MASTER} \ |
124 | | - HAS_TREADY {1} \ |
125 | | - HAS_TLAST {0} \ |
126 | | - TDATA_NUM_BYTES $adc_data_path_width \ |
127 | | - ] |
128 | | - adi_sim_add_define "ADC_SRC_AXIS_${i}=adc_src_axis_${i}" |
| 47 | +ad_connect sys_dma_clk adc_src_axis/aclk |
| 48 | +ad_connect sys_dma_resetn adc_src_axis/aresetn |
129 | 49 |
|
130 | | - ad_connect adc_src_axis_${i}/m_axis RX_DUT_${i}/s_axis |
131 | | - ad_connect RX_DUT_${i}/m_axis i_rx_dmac_${i}/s_axis |
132 | | - |
133 | | - ad_connect sys_dma_clk adc_src_axis_${i}/aclk |
134 | | - ad_connect sys_dma_resetn adc_src_axis_${i}/aresetn |
135 | | - |
136 | | - ad_connect sys_dma_clk RX_DUT_${i}/s_axis_aclk |
137 | | - ad_connect sys_dma_resetn RX_DUT_${i}/s_axis_aresetn |
138 | | - ad_connect sys_cpu_clk RX_DUT_${i}/m_axis_aclk |
139 | | - ad_connect sys_cpu_resetn RX_DUT_${i}/m_axis_aresetn |
140 | | - |
141 | | - ad_connect sys_cpu_clk i_rx_dmac_${i}/s_axis_aclk |
142 | | - ad_connect sys_mem_clk i_rx_dmac_${i}/m_dest_axi_aclk |
143 | | - ad_connect sys_mem_resetn i_rx_dmac_${i}/m_dest_axi_aresetn |
144 | | - |
145 | | - ad_connect i_rx_dmac_${i}/s_axis_xfer_req RX_DUT_${i}/init_req |
146 | | - ad_connect gnd RX_DUT_${i}/sync_ext |
147 | | - |
148 | | - ad_mem_hp0_interconnect sys_mem_clk i_rx_dmac_${i}/m_dest_axi |
149 | | - |
150 | | - ad_ip_instance axi4stream_vip dac_dst_axis_${i} [list \ |
151 | | - INTERFACE_MODE {SLAVE} \ |
152 | | - TDATA_NUM_BYTES $dac_data_path_width \ |
153 | | - HAS_TLAST {1} \ |
154 | | - HAS_TKEEP {0} \ |
155 | | - ] |
156 | | - adi_sim_add_define "DAC_DST_AXIS_${i}=dac_dst_axis_${i}" |
157 | | - |
158 | | - ad_connect sys_dma_clk dac_dst_axis_${i}/aclk |
159 | | - ad_connect sys_dma_resetn dac_dst_axis_${i}/aresetn |
160 | | - |
161 | | - ad_connect sys_dma_clk TX_DUT_${i}/m_axis_aclk |
162 | | - ad_connect sys_dma_resetn TX_DUT_${i}/m_axis_aresetn |
163 | | - ad_connect sys_cpu_clk TX_DUT_${i}/s_axis_aclk |
164 | | - ad_connect sys_cpu_resetn TX_DUT_${i}/s_axis_aresetn |
165 | | - |
166 | | - ad_connect sys_cpu_clk i_tx_dmac_${i}/m_axis_aclk |
167 | | - ad_connect sys_mem_clk i_tx_dmac_${i}/m_src_axi_aclk |
168 | | - ad_connect sys_mem_resetn i_tx_dmac_${i}/m_src_axi_aresetn |
169 | | - |
170 | | - ad_connect TX_DUT_${i}/m_axis dac_dst_axis_${i}/s_axis |
171 | | - ad_connect TX_DUT_${i}/s_axis i_tx_dmac_${i}/m_axis |
| 50 | +ad_ip_instance axi4stream_vip dac_dst_axis [list \ |
| 51 | + INTERFACE_MODE {SLAVE} \ |
| 52 | + TDATA_NUM_BYTES 2 \ |
| 53 | + HAS_TREADY {1} \ |
| 54 | + HAS_TKEEP {1} \ |
| 55 | + HAS_TLAST {1} \ |
| 56 | +] |
| 57 | +adi_sim_add_define "DAC_DST_AXIS=dac_dst_axis" |
172 | 58 |
|
173 | | - ad_connect i_tx_dmac_${i}/m_axis_xfer_req TX_DUT_${i}/init_req |
174 | | - ad_connect gnd TX_DUT_${i}/sync_ext |
| 59 | +ad_connect sys_dma_clk dac_dst_axis/aclk |
| 60 | +ad_connect sys_dma_resetn dac_dst_axis/aresetn |
175 | 61 |
|
176 | | - ad_mem_hp0_interconnect sys_mem_clk i_tx_dmac_${i}/m_src_axi |
177 | | -} |
| 62 | +ad_connect adc_src_axis/m_axis dac_dst_axis/s_axis |
0 commit comments