Skip to content

Commit 13863e7

Browse files
scoreboard: Simplified to AXIS datastream verification
Signed-off-by: Istvan-Zsolt Szekely <istvan.szekely@analog.com>
1 parent 85d89c1 commit 13863e7

File tree

7 files changed

+64
-582
lines changed

7 files changed

+64
-582
lines changed

testbenches/ip/scoreboard/Makefile

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,6 @@ include $(TB_LIBRARY_PATH)/includes/Makeinclude_scoreboard.mk
1212
include $(TB_LIBRARY_PATH)/includes/Makeinclude_dmac.mk
1313
include $(TB_LIBRARY_PATH)/includes/Makeinclude_data_offload.mk
1414

15-
# Remaining test-bench dependencies except test programs
16-
SV_DEPS += environment.sv
17-
18-
LIB_DEPS := util_cdc
19-
LIB_DEPS += util_axis_fifo
20-
LIB_DEPS += axi_dmac
21-
LIB_DEPS += data_offload
22-
LIB_DEPS += util_do_ram
23-
2415
# default test program
2516
TP := test_program
2617

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1 @@
11
global ad_project_params
2-
3-
set ad_project_params(ADC_DATA_PATH_WIDTH) 16 ; ##
4-
set ad_project_params(DAC_DATA_PATH_WIDTH) 16 ; ##
5-
6-
set ad_project_params(ADC_PATH_TYPE) 0 ; ## RX
7-
set ad_project_params(ADC_OFFLOAD_MEM_TYPE) 0 ; ## External storage
8-
set ad_project_params(ADC_OFFLOAD_SIZE) 2048 ; ## Storage size in bytes
9-
set ad_project_params(ADC_OFFLOAD_SRC_DWIDTH) 128 ; ## Source data width
10-
set ad_project_params(ADC_OFFLOAD_DST_DWIDTH) 128 ; ## Destination data width
11-
12-
set ad_project_params(DAC_PATH_TYPE) 0 ; ## TX
13-
set ad_project_params(DAC_OFFLOAD_MEM_TYPE) 0 ; ## External storage
14-
set ad_project_params(DAC_OFFLOAD_SIZE) 2048 ; ## Storage size in bytes
15-
set ad_project_params(DAC_OFFLOAD_SRC_DWIDTH) 128 ; ## Source data width
16-
set ad_project_params(DAC_OFFLOAD_DST_DWIDTH) 128 ; ## Destination data width
17-
18-
set ad_project_params(PLDDR_OFFLOAD_DATA_WIDTH) 512 ; ## PLDDR's AXI4 interface data width
19-

testbenches/ip/scoreboard/environment.sv

Lines changed: 0 additions & 138 deletions
This file was deleted.

testbenches/ip/scoreboard/system_bd.tcl

Lines changed: 20 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -35,159 +35,28 @@
3535

3636
global ad_project_params
3737

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-
set ddr_axi_pt_cfg [list \
60-
INTERFACE_MODE {PASS_THROUGH} \
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} \
6144
]
45+
adi_sim_add_define "ADC_SRC_AXIS=adc_src_axis"
6246

63-
ad_ip_instance xlconstant GND [list \
64-
CONST_VAL 0 \
65-
]
66-
ad_connect gnd GND/dout
67-
68-
for {set i 0} {$i < 2} {incr i} {
69-
ad_ip_instance axi_dmac i_rx_dmac_${i} [list \
70-
DMA_TYPE_SRC 1 \
71-
DMA_TYPE_DEST 0 \
72-
ID 0 \
73-
AXI_SLICE_SRC 1 \
74-
AXI_SLICE_DEST 1 \
75-
SYNC_TRANSFER_START 0 \
76-
DMA_LENGTH_WIDTH 24 \
77-
DMA_2D_TRANSFER 0 \
78-
MAX_BYTES_PER_BURST 4096 \
79-
CYCLIC 0 \
80-
DMA_DATA_WIDTH_SRC $adc_offload_dst_dwidth \
81-
DMA_DATA_WIDTH_DEST 64 \
82-
]
83-
84-
ad_ip_instance axi_dmac i_tx_dmac_${i} [list \
85-
DMA_TYPE_SRC 0 \
86-
DMA_TYPE_DEST 1 \
87-
ID 0 \
88-
AXI_SLICE_SRC 1 \
89-
AXI_SLICE_DEST 1 \
90-
SYNC_TRANSFER_START 0 \
91-
DMA_LENGTH_WIDTH 24 \
92-
DMA_2D_TRANSFER 0 \
93-
MAX_BYTES_PER_BURST 4096 \
94-
CYCLIC 1 \
95-
DMA_DATA_WIDTH_SRC 64 \
96-
DMA_DATA_WIDTH_DEST $dac_offload_src_dwidth \
97-
]
98-
99-
ad_data_offload_create RX_DUT_${i} \
100-
0 \
101-
$adc_offload_mem_type \
102-
$adc_offload_size \
103-
$adc_offload_src_dwidth \
104-
$adc_offload_dst_dwidth \
105-
$plddr_offload_data_width
106-
107-
ad_data_offload_create TX_DUT_${i} \
108-
1 \
109-
$dac_offload_mem_type \
110-
$dac_offload_size \
111-
$dac_offload_src_dwidth \
112-
$dac_offload_dst_dwidth \
113-
$plddr_offload_data_width
114-
115-
set BA 0x50000000
116-
ad_cpu_interconnect [expr ${BA} + 0x00000 + $i*0x40000] i_rx_dmac_${i}
117-
ad_cpu_interconnect [expr ${BA} + 0x10000 + $i*0x40000] i_tx_dmac_${i}
118-
ad_cpu_interconnect [expr ${BA} + 0x20000 + $i*0x40000] RX_DUT_${i}
119-
ad_cpu_interconnect [expr ${BA} + 0x30000 + $i*0x40000] TX_DUT_${i}
120-
121-
adi_sim_add_define "RX_DMA_BA_${i}=[format "%d" [expr ${BA} + 0x00000 + $i*0x40000]]"
122-
adi_sim_add_define "TX_DMA_BA_${i}=[format "%d" [expr ${BA} + 0x10000 + $i*0x40000]]"
123-
adi_sim_add_define "RX_DOFF_BA_${i}=[format "%d" [expr ${BA} + 0x20000 + $i*0x40000]]"
124-
adi_sim_add_define "TX_DOFF_BA_${i}=[format "%d" [expr ${BA} + 0x30000 + $i*0x40000]]"
125-
126-
ad_ip_instance axi4stream_vip adc_src_axis_${i} [list \
127-
INTERFACE_MODE {MASTER} \
128-
HAS_TREADY {1} \
129-
HAS_TLAST {0} \
130-
TDATA_NUM_BYTES $adc_data_path_width \
131-
]
132-
adi_sim_add_define "ADC_SRC_AXIS_${i}=adc_src_axis_${i}"
133-
134-
ad_connect adc_src_axis_${i}/m_axis RX_DUT_${i}/s_axis
135-
ad_connect RX_DUT_${i}/m_axis i_rx_dmac_${i}/s_axis
136-
137-
ad_connect sys_dma_clk adc_src_axis_${i}/aclk
138-
ad_connect sys_dma_resetn adc_src_axis_${i}/aresetn
139-
140-
ad_connect sys_dma_clk RX_DUT_${i}/s_axis_aclk
141-
ad_connect sys_dma_resetn RX_DUT_${i}/s_axis_aresetn
142-
ad_connect sys_cpu_clk RX_DUT_${i}/m_axis_aclk
143-
ad_connect sys_cpu_resetn RX_DUT_${i}/m_axis_aresetn
144-
145-
ad_connect sys_cpu_clk i_rx_dmac_${i}/s_axis_aclk
146-
ad_connect sys_mem_clk i_rx_dmac_${i}/m_dest_axi_aclk
147-
ad_connect sys_mem_resetn i_rx_dmac_${i}/m_dest_axi_aresetn
148-
149-
ad_connect i_rx_dmac_${i}/s_axis_xfer_req RX_DUT_${i}/init_req
150-
ad_connect gnd RX_DUT_${i}/sync_ext
47+
ad_connect sys_dma_clk adc_src_axis/aclk
48+
ad_connect sys_dma_resetn adc_src_axis/aresetn
15149

152-
ad_ip_instance axi_vip adc_dst_axi_pt_${i} $ddr_axi_pt_cfg
153-
adi_sim_add_define "ADC_DST_AXI_PT_${i}=adc_dst_axi_pt_${i}"
154-
155-
ad_connect i_rx_dmac_${i}/m_dest_axi adc_dst_axi_pt_${i}/S_AXI
156-
157-
ad_mem_hp0_interconnect sys_mem_clk adc_dst_axi_pt_${i}/M_AXI
158-
ad_connect sys_mem_resetn adc_dst_axi_pt_${i}/aresetn
159-
160-
ad_ip_instance axi4stream_vip dac_dst_axis_${i} [list \
161-
INTERFACE_MODE {SLAVE} \
162-
TDATA_NUM_BYTES $dac_data_path_width \
163-
HAS_TLAST {1} \
164-
HAS_TKEEP {0} \
165-
]
166-
adi_sim_add_define "DAC_DST_AXIS_${i}=dac_dst_axis_${i}"
167-
168-
ad_connect sys_dma_clk dac_dst_axis_${i}/aclk
169-
ad_connect sys_dma_resetn dac_dst_axis_${i}/aresetn
170-
171-
ad_connect sys_dma_clk TX_DUT_${i}/m_axis_aclk
172-
ad_connect sys_dma_resetn TX_DUT_${i}/m_axis_aresetn
173-
ad_connect sys_cpu_clk TX_DUT_${i}/s_axis_aclk
174-
ad_connect sys_cpu_resetn TX_DUT_${i}/s_axis_aresetn
175-
176-
ad_connect sys_cpu_clk i_tx_dmac_${i}/m_axis_aclk
177-
ad_connect sys_mem_clk i_tx_dmac_${i}/m_src_axi_aclk
178-
ad_connect sys_mem_resetn i_tx_dmac_${i}/m_src_axi_aresetn
179-
180-
ad_connect TX_DUT_${i}/m_axis dac_dst_axis_${i}/s_axis
181-
ad_connect TX_DUT_${i}/s_axis i_tx_dmac_${i}/m_axis
182-
183-
ad_connect i_tx_dmac_${i}/m_axis_xfer_req TX_DUT_${i}/init_req
184-
ad_connect gnd TX_DUT_${i}/sync_ext
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"
18558

186-
ad_ip_instance axi_vip dac_src_axi_pt_${i} $ddr_axi_pt_cfg
187-
adi_sim_add_define "DAC_SRC_AXI_PT_${i}=dac_src_axi_pt_${i}"
59+
ad_connect sys_dma_clk dac_dst_axis/aclk
60+
ad_connect sys_dma_resetn dac_dst_axis/aresetn
18861

189-
ad_connect i_tx_dmac_${i}/m_src_axi dac_src_axi_pt_${i}/S_AXI
190-
191-
ad_mem_hp0_interconnect sys_mem_clk dac_src_axi_pt_${i}/M_AXI
192-
ad_connect sys_mem_resetn dac_src_axi_pt_${i}/aresetn
193-
}
62+
ad_connect adc_src_axis/m_axis dac_dst_axis/s_axis

testbenches/ip/scoreboard/system_project.tcl

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,9 @@ adi_sim_project_xilinx $project_name "xcvu9p-flga2104-2L-e"
1818

1919
source $ad_tb_dir/library/includes/sp_include_axis.tcl
2020
source $ad_tb_dir/library/includes/sp_include_scoreboard.tcl
21-
source $ad_tb_dir/library/includes/sp_include_dmac.tcl
22-
source $ad_tb_dir/library/includes/sp_include_data_offload.tcl
2321

2422
# Add test files to the project
2523
adi_sim_project_files [list \
26-
"environment.sv" \
2724
"tests/test_program.sv" \
2825
]
2926

0 commit comments

Comments
 (0)