1+ function add_rx_tx_io(hRD )
2+
3+ % add AXI4 and AXI4-Lite slave interfaces
4+ hRD .addAXI4SlaveInterface( ...
5+ ' InterfaceConnection' , ' axi_cpu_interconnect/M11_AXI' , ...
6+ ' BaseAddress' , ' 0x43C00000' , ...
7+ ' MasterAddressSpace' , ' sys_ps7/Data' );
8+
9+ % % AGC control input for transceiver
10+ % hRD.addInternalIOInterface( ...
11+ % 'InterfaceID', 'Enable AGC', ...
12+ % 'InterfaceType', 'OUT', ...
13+ % 'PortName', 'en_agc', ...
14+ % 'PortWidth', 1, ...
15+ % 'InterfaceConnection', 'gpio_en_agc', ...
16+ % 'IsRequired', false);
17+
18+ % GPIO status output for transceiver
19+ hRD .addInternalIOInterface( ...
20+ ' InterfaceID' , ' CTRL_STATUS' , ...
21+ ' InterfaceType' , ' IN' , ...
22+ ' PortName' , ' gpio_status' , ...
23+ ' PortWidth' , 8 , ...
24+ ' InterfaceConnection' , ' gpio_status' , ...
25+ ' IsRequired' , false );
26+
27+ % GPIO Control input for transceiver
28+ hRD .addInternalIOInterface( ...
29+ ' InterfaceID' , ' AD9361 CTRL IN' , ...
30+ ' InterfaceType' , ' OUT' , ...
31+ ' PortName' , ' gpio_ctl' , ...
32+ ' PortWidth' , 4 , ...
33+ ' InterfaceConnection' , ' gpio_ctl' , ...
34+ ' IsRequired' , false );
35+
36+ % DMA Ready signal
37+ hRD .addInternalIOInterface( ...
38+ ' InterfaceID' , ' DMA Ready' , ...
39+ ' InterfaceType' , ' IN' , ...
40+ ' PortName' , ' dma_rdy' , ...
41+ ' PortWidth' , 1 , ...
42+ ' InterfaceConnection' , ' axi_ad9361_adc_dma/s_axis_ready' , ...
43+ ' IsRequired' , false );
44+
45+ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46+ % Rx Reference design interfaces
47+ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48+ hRD .addInternalIOInterface( ...
49+ ' InterfaceID' , ' IP Data Valid OUT' , ...
50+ ' InterfaceType' , ' OUT' , ...
51+ ' PortName' , ' dut_data_valid' , ...
52+ ' PortWidth' , 1 , ...
53+ ' InterfaceConnection' , ' util_ad9361_adc_pack/adc_valid_0' , ...
54+ ' IsRequired' , false );
55+
56+ hRD .addInternalIOInterface( ...
57+ ' InterfaceID' , ' IP Data 0 OUT' , ...
58+ ' InterfaceType' , ' OUT' , ...
59+ ' PortName' , ' dut_data_0' , ...
60+ ' PortWidth' , 16 , ...
61+ ' InterfaceConnection' , ' util_ad9361_adc_pack/adc_data_0' , ...
62+ ' IsRequired' , false );
63+
64+ hRD .addInternalIOInterface( ...
65+ ' InterfaceID' , ' IP Data 1 OUT' , ...
66+ ' InterfaceType' , ' OUT' , ...
67+ ' PortName' , ' dut_data_1' , ...
68+ ' PortWidth' , 16 , ...
69+ ' InterfaceConnection' , ' util_ad9361_adc_pack/adc_data_1' , ...
70+ ' IsRequired' , false );
71+
72+ hRD .addInternalIOInterface( ...
73+ ' InterfaceID' , ' IP Data 2 OUT' , ...
74+ ' InterfaceType' , ' OUT' , ...
75+ ' PortName' , ' dut_data_2' , ...
76+ ' PortWidth' , 16 , ...
77+ ' InterfaceConnection' , ' util_ad9361_adc_pack/adc_data_2' , ...
78+ ' IsRequired' , false );
79+
80+ hRD .addInternalIOInterface( ...
81+ ' InterfaceID' , ' IP Data 3 OUT' , ...
82+ ' InterfaceType' , ' OUT' , ...
83+ ' PortName' , ' dut_data_3' , ...
84+ ' PortWidth' , 16 , ...
85+ ' InterfaceConnection' , ' util_ad9361_adc_pack/adc_data_3' , ...
86+ ' IsRequired' , false );
87+
88+ hRD .addInternalIOInterface( ...
89+ ' InterfaceID' , ' AD9361 ADC Data I0' , ...
90+ ' InterfaceType' , ' IN' , ...
91+ ' PortName' , ' sys_wfifo_0_dma_wdata' , ...
92+ ' PortWidth' , 16 , ...
93+ ' InterfaceConnection' , ' util_ad9361_adc_fifo/dout_data_0' , ...
94+ ' IsRequired' , false );
95+
96+ hRD .addInternalIOInterface( ...
97+ ' InterfaceID' , ' AD9361 ADC Data Q0' , ...
98+ ' InterfaceType' , ' IN' , ...
99+ ' PortName' , ' sys_wfifo_1_dma_wdata' , ...
100+ ' PortWidth' , 16 , ...
101+ ' InterfaceConnection' , ' util_ad9361_adc_fifo/dout_data_1' , ...
102+ ' IsRequired' , false );
103+
104+ hRD .addInternalIOInterface( ...
105+ ' InterfaceID' , ' AD9361 ADC Data I1' , ...
106+ ' InterfaceType' , ' IN' , ...
107+ ' PortName' , ' sys_wfifo_2_dma_wdata' , ...
108+ ' PortWidth' , 16 , ...
109+ ' InterfaceConnection' , ' util_ad9361_adc_fifo/dout_data_2' , ...
110+ ' IsRequired' , false );
111+
112+ hRD .addInternalIOInterface( ...
113+ ' InterfaceID' , ' AD9361 ADC Data Q1' , ...
114+ ' InterfaceType' , ' IN' , ...
115+ ' PortName' , ' sys_wfifo_3_dma_wdata' , ...
116+ ' PortWidth' , 16 , ...
117+ ' InterfaceConnection' , ' util_ad9361_adc_fifo/dout_data_3' , ...
118+ ' IsRequired' , false );
119+
120+ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121+ % Tx Reference design interfaces
122+ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123+ hRD .addInternalIOInterface( ...
124+ ' InterfaceID' , ' AD9361 DAC Data I0' , ...
125+ ' InterfaceType' , ' OUT' , ...
126+ ' PortName' , ' axi_ad9361_dac_data_i0' , ...
127+ ' PortWidth' , 16 , ...
128+ ' InterfaceConnection' , ' axi_ad9361_dac_fifo/din_data_0' , ...
129+ ' IsRequired' , false );
130+
131+ hRD .addInternalIOInterface( ...
132+ ' InterfaceID' , ' AD9361 DAC Data Q0' , ...
133+ ' InterfaceType' , ' OUT' , ...
134+ ' PortName' , ' axi_ad9361_dac_data_q0' , ...
135+ ' PortWidth' , 16 , ...
136+ ' InterfaceConnection' , ' axi_ad9361_dac_fifo/din_data_1' , ...
137+ ' IsRequired' , false );
138+
139+ hRD .addInternalIOInterface( ...
140+ ' InterfaceID' , ' AD9361 DAC Data I1' , ...
141+ ' InterfaceType' , ' OUT' , ...
142+ ' PortName' , ' axi_ad9361_dac_data_i1' , ...
143+ ' PortWidth' , 16 , ...
144+ ' InterfaceConnection' , ' axi_ad9361_dac_fifo/din_data_2' , ...
145+ ' IsRequired' , false );
146+
147+ hRD .addInternalIOInterface( ...
148+ ' InterfaceID' , ' AD9361 DAC Data Q1' , ...
149+ ' InterfaceType' , ' OUT' , ...
150+ ' PortName' , ' axi_ad9361_dac_data_q1' , ...
151+ ' PortWidth' , 16 , ...
152+ ' InterfaceConnection' , ' axi_ad9361_dac_fifo/din_data_3' , ...
153+ ' IsRequired' , false );
154+
155+ hRD .addInternalIOInterface( ...
156+ ' InterfaceID' , ' IP Data 0 IN' , ...
157+ ' InterfaceType' , ' IN' , ...
158+ ' PortName' , ' util_dac_unpack_dac_data_00' , ...
159+ ' PortWidth' , 16 , ...
160+ ' InterfaceConnection' , ' util_ad9361_dac_upack/dac_data_0' , ...
161+ ' IsRequired' , false );
162+
163+ hRD .addInternalIOInterface( ...
164+ ' InterfaceID' , ' IP Data 1 IN' , ...
165+ ' InterfaceType' , ' IN' , ...
166+ ' PortName' , ' util_dac_unpack_dac_data_01' , ...
167+ ' PortWidth' , 16 , ...
168+ ' InterfaceConnection' , ' util_ad9361_dac_upack/dac_data_1' , ...
169+ ' IsRequired' , false );
170+
171+ hRD .addInternalIOInterface( ...
172+ ' InterfaceID' , ' IP Data 2 IN' , ...
173+ ' InterfaceType' , ' IN' , ...
174+ ' PortName' , ' util_dac_unpack_dac_data_02' , ...
175+ ' PortWidth' , 16 , ...
176+ ' InterfaceConnection' , ' util_ad9361_dac_upack/dac_data_2' , ...
177+ ' IsRequired' , false );
178+
179+ hRD .addInternalIOInterface( ...
180+ ' InterfaceID' , ' IP Data 3 IN' , ...
181+ ' InterfaceType' , ' IN' , ...
182+ ' PortName' , ' util_dac_unpack_dac_data_03' , ...
183+ ' PortWidth' , 16 , ...
184+ ' InterfaceConnection' , ' util_ad9361_dac_upack/dac_data_3' , ...
185+ ' IsRequired' , false );
186+
187+ hRD .addInternalIOInterface( ...
188+ ' InterfaceID' , ' IP Load Tx Data OUT' , ...
189+ ' InterfaceType' , ' OUT' , ...
190+ ' PortName' , ' util_dac_unpack_dac_valid_00' , ...
191+ ' PortWidth' , 1 , ...
192+ ' InterfaceConnection' , ' util_ad9361_dac_upack/dac_valid_0' , ...
193+ ' IsRequired' , false );
194+
195+ hRD .addInternalIOInterface( ...
196+ ' InterfaceID' , ' IP Valid Tx Data IN' , ...
197+ ' InterfaceType' , ' IN' , ...
198+ ' PortName' , ' util_dac_unpack_upack_valid_00' , ...
199+ ' PortWidth' , 1 , ...
200+ ' InterfaceConnection' , ' util_ad9361_dac_upack/upack_valid_0' , ...
201+ ' IsRequired' , false );
0 commit comments