pluto_hdl_adi/library/xilinx/axi_adxcvr
Lars-Peter Clausen 6d4430cfda axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access
When using non-broadcast access to the GT DRP registers lane filtering is
done on both sides. The ready and data signals are filtered in the in the
axi_adxcvr module and the enable signal is filtered in the util_adxcvr
module. This works fine as long as both sides use the same transceiver IDs.
E.g. channel 0 of the axi_adxcvr module is connected to channel 0 of the
util_adxcvr module.

But this is not always the case. E.g. on the ADRV9371 platform there are
two RX axi_adxcvr modules (RX and RX_OS) connected to the same util_adxcvr.
The first axi_adxcvr uses lane 0 and 1 of the util_adxcvr, the second uses
lane 2 and 3.

Non-broadcast access for the first RX axi_adxcvr module works fine, but
always generates a timeout for the second axi_adxcvr module. This is
because lane 0/1 of the axi_adxcvr module is connected to lane 2/3 of the
util_adxcvr and when ID based filtering is done both can't match at the
same time.

To avoid this perform the filtering for all the signals in the axi_adxcvr
module. This makes sure that the same base ID is used.

This also removes the sel signal from the transceiver interfaces since it
is no longer used on the util_adxcvr side.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2017-06-28 17:30:51 +02:00
..
Makefile hdlmake.pl - updates 2017-06-06 12:25:35 -04:00
axi_adxcvr.v axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access 2017-06-28 17:30:51 +02:00
axi_adxcvr_es.v license: Add some clarification to the header license 2017-05-31 18:18:56 +03:00
axi_adxcvr_ip.tcl axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access 2017-06-28 17:30:51 +02:00
axi_adxcvr_mdrp.v axi_adxcvr/util_adxcvr: Fix non-broadcast DRP access 2017-06-28 17:30:51 +02:00
axi_adxcvr_mstatus.v license: Add some clarification to the header license 2017-05-31 18:18:56 +03:00
axi_adxcvr_up.v license: Add some clarification to the header license 2017-05-31 18:18:56 +03:00