878 lines
18 KiB
Plaintext
878 lines
18 KiB
Plaintext
TITLE
|
|
Xilinx XCVR (axi_xcvr)
|
|
XCVR
|
|
ENDTITLE
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0000
|
|
VERSION
|
|
Version Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
VERSION
|
|
RO
|
|
Version number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0001
|
|
ID
|
|
Instance Identification Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
ID
|
|
RO
|
|
Instance identifier number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0002
|
|
SCRATCH
|
|
Scratch (GP R/W) Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
SCRATCH
|
|
RW
|
|
Scratch register.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0004
|
|
RESETN
|
|
Reset Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[1]
|
|
BUFSTATUS_RST
|
|
RW
|
|
Initially this flag is held in reset with value 0x1, in order for a user to see the RX BUFSTATUS, this flag needs to be set to 0x0.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[0]
|
|
RESETN
|
|
RW
|
|
If clear, link is held in reset, set this bit to 0x1 to activate link. Note that the reference clock and DRP clock must be active before setting this bit.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0005
|
|
STATUS
|
|
Status Reporting Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[6:5]
|
|
BUFSTATUS
|
|
RO
|
|
BUFSTATUS provides status for either the RX buffer or the TX buffer. If BUFSTATUS is referring to the TX buffer, once BUFSTATUS is set High it remains High until RESETN is activated. Else if BUFSTATUS is referring to the RX buffer, once BUFSTSTATUS is High it can be cleared using BUFSTATUS_RST. If BUFTATUS[6] is 0x1 the internal FIFO overflows and when the BUFSTATUS[5] is 0x1 the internal FIFO underflows. Available from version 17.5.a. For more information consult the transceiver user guide(search for RXBUFSTATUS/TXBUFSTATUS).
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[4]
|
|
PLL_LOCK_N
|
|
RO
|
|
After setting the RESETN bit above, this bit must clear. If does not clears, indicates the CPLL/QPLL did not locked. Available from version 17.4.a
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[0]
|
|
STATUS
|
|
RO
|
|
After setting the RESETN bit above, wait for this bit to set. If set, indicates successful link activation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0007
|
|
FPGA_INFO
|
|
FPGA device information :git-hdl:`Xilinx encoded values <library/scripts/adi_xilinx_device_info_enc.tcl>`
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:24]
|
|
FPGA_TECHNOLOGY
|
|
RO
|
|
Encoded value describing the technology/generation of the FPGA device (e.g, 7series, ultrascale)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[23:16]
|
|
FPGA_FAMILY
|
|
RO
|
|
Encoded value describing the family variant of the FPGA device(e.g., zynq, kintex, virtex)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:8]
|
|
SPEED_GRADE
|
|
RO
|
|
Encoded value describing the FPGA's speed-grade
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[7:0]
|
|
DEV_PACKAGE
|
|
RO
|
|
Encoded value describing the device package. The package might affect high-speed interfaces
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0008
|
|
CONTROL
|
|
Transceiver Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[12]
|
|
LPM_DFE_N
|
|
RW
|
|
Transceiver primitive control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[10:8]
|
|
RATE[2:0]
|
|
RW
|
|
Transceiver primitive control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[5:4]
|
|
SYSCLK_SEL[1:0]
|
|
RW
|
|
For GTX drives directly the (RX/TX)SYSCLKSEL pin of the transceiver refer to
|
|
Xilinx documentation.
|
|
For GTH/GTY drives directly the (RX/TX)PLLCLKSEL pin of the transceiver and
|
|
indirectly the (RX/TX)SYSCLKSEL pin of the transceiver see
|
|
:ref:`Table 1 <axi_adxcvr table_one_label>`.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[2:0]
|
|
OUTCLK_SEL[2:0]
|
|
RW
|
|
Transceiver primitive control :ref:`Table 2 <axi_adxcvr table_two_label>`,
|
|
refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0009
|
|
GENERIC_INFO
|
|
Physical layer info
|
|
ENDREG
|
|
|
|
FIELD
|
|
[20]
|
|
QPLL_ENABLE
|
|
RO
|
|
Using QPLL.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[19:16]
|
|
XCVR_TYPE[3:0]
|
|
RO
|
|
:git-hdl:`Xilinx encoded values <library/scripts/adi_xilinx_device_info_enc.tcl>`.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[13:12]
|
|
LINK_MODE
|
|
RO
|
|
Link layer mode : 01 - 8B10B decoder (aka 204B) 10 - 64B66B decoder (aka 204C); Available from version 17.3.a
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[8]
|
|
TX_OR_RX_N
|
|
RO
|
|
Transceiver type (transmit or receive)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[7:0]
|
|
NUM_OF_LANES
|
|
RO
|
|
Physical layer number of lanes.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0010
|
|
CM_SEL
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[7:0]
|
|
CM_SEL
|
|
RW
|
|
Transceiver common-DRP sel, set to 0xff for broadcast.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0011
|
|
CM_CONTROL
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[28]
|
|
CM_WR
|
|
RW
|
|
Transceiver common-DRP sel, set to 0x1 for write, 0x0 for read.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[27:16]
|
|
CM_ADDR
|
|
RW
|
|
Transceiver common-DRP read/write address.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:0]
|
|
CM_WDATA
|
|
RW
|
|
Transceiver common-DRP write data.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0012
|
|
CM_STATUS
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[16]
|
|
CM_BUSY
|
|
RO
|
|
Transceiver common-DRP access busy (0x1) or idle (0x0).
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:0]
|
|
CM_RDATA
|
|
RW
|
|
Transceiver common-DRP read data.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0018
|
|
CH_SEL
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[7:0]
|
|
CH_SEL
|
|
RW
|
|
Transceiver channel-DRP sel, set to 0xff for broadcast.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0019
|
|
CH_CONTROL
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[28]
|
|
CH_WR
|
|
RW
|
|
Transceiver channel-DRP sel, set to 0x1 for write, 0x0 for read.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[27:16]
|
|
CH_ADDR
|
|
RW
|
|
Transceiver channel-DRP read/write address.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:0]
|
|
CH_WDATA
|
|
RW
|
|
Transceiver channel-DRP write data.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x001a
|
|
CH_STATUS
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[16]
|
|
CH_BUSY
|
|
RO
|
|
Transceiver channel-DRP access busy (0x1) or idle (0x0).
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:0]
|
|
CH_RDATA
|
|
RW
|
|
Transceiver channel-DRP read data.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0020
|
|
ES_SEL
|
|
Transceiver Access Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[7:0]
|
|
ES_SEL
|
|
RW
|
|
Transceiver eye-scan-DRP sel, set to 0xff for broadcast.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0028
|
|
ES_REQ
|
|
Transceiver eye-scan Request Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[0]
|
|
ES_REQ
|
|
RW
|
|
Transceiver eye-scan request, set this bit to initiate an eye-scan, this bit auto-clears when scan is complete.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0029
|
|
ES_CONTROL_1
|
|
Transceiver eye-scan Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[4:0]
|
|
ES_PRESCALE[4:0]
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002a
|
|
0x00a8
|
|
ES_CONTROL_2
|
|
Transceiver eye-scan Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[25:24]
|
|
ES_VOFFSET_RANGE
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[23:16]
|
|
ES_VOFFSET_STEP
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:8]
|
|
ES_VOFFSET_MAX
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[7:0]
|
|
ES_VOFFSET_MIN
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002b
|
|
ES_CONTROL_3
|
|
Transceiver eye-scan Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[27:16]
|
|
ES_HOFFSET_MAX
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[11:0]
|
|
ES_HOFFSET_MIN
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002c
|
|
ES_CONTROL_4
|
|
Transceiver eye-scan Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[11:0]
|
|
ES_HOFFSET_STEP
|
|
RW
|
|
Transceiver eye-scan control, refer Xilinx documentation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002d
|
|
ES_CONTROL_5
|
|
Transceiver eye-scan Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
ES_STARTADDR
|
|
RW
|
|
Transceiver eye-scan control, DMA start address (ES data is written to this memory address).
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002e
|
|
ES_STATUS
|
|
Transceiver eye-scan Status Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[0]
|
|
ES_STATUS
|
|
RO
|
|
If set, indicates an error in ES DMA.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x002F
|
|
ES_RESET
|
|
Transceiver eye-scan reset control register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[n]
|
|
ES_RESET
|
|
RW
|
|
Controls the EYESCANRESET pin of the GTH/GTY transceivers for lane n.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
REG
|
|
0x0030
|
|
TX_DIFFCTRL
|
|
Transceiver primitive control, refer Xilinx documentation.
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
TX_DIFFCTRL
|
|
RW
|
|
TX driver swing control.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0031
|
|
TX_POSTCURSOR
|
|
Transceiver primitive control, refer Xilinx documentation.
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
TX_POSTCURSOR
|
|
RW
|
|
Transmiter post-cursor TX pre-emphasis control.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0032
|
|
TX_PRECURSOR
|
|
Transceiver primitive control, refer Xilinx documentation.
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
TX_PRECURSOR
|
|
RW
|
|
Transmiter pre-cursor TX pre-emphasis control.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0050
|
|
FPGA_VOLTAGE
|
|
FPGA device voltage information
|
|
ENDREG
|
|
|
|
FIELD
|
|
[15:0]
|
|
FPGA_VOLTAGE
|
|
RO
|
|
The voltage of the FPGA device in mv
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0060
|
|
PRBS_CNTRL
|
|
Transceiver PRBS control
|
|
ENDREG
|
|
|
|
FIELD
|
|
[16]
|
|
PRBSFORCEERR
|
|
RW
|
|
Valid for TX. If set, a single error is forced in the PRBS transmitter for every clock cycle. Can be used to test the PRBS checkers on the other side of the link.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[8]
|
|
PRBSCNTRESET
|
|
RW
|
|
Valid for RX. Resets the PRBS error counter from the transceiver. Does not self clears. Value of error counter must be accessed via DRP.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[3:0]
|
|
PRBSSEL
|
|
RW
|
|
PRBS checker or generator test pattern control. All zeros will put the PRBS in bypass mode. For TX non-zero values will stop the normal dataflow from link layer and will inject a pattern instead. See transceiver guide for specific values.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0061
|
|
PRBS_STATUS
|
|
RX Transceiver PRBS status
|
|
ENDREG
|
|
|
|
FIELD
|
|
[8]
|
|
PRBSERR
|
|
RO
|
|
This sticky status output indicates that PRBS errors have occurred. Value of error counter must be accessed via DRP.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[0]
|
|
PRBSLOCKED
|
|
RO
|
|
Ignore this bit for GTX transceivers. For others: Indicates that the RX PRBS checker has been error free for 15 XCLK cycles after reset. Once asserted High, it does not deassert until reset of the RX pattern checker via PRBSCNTRESET
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
TITLE
|
|
Intel XCVR (axi_xcvr)
|
|
INTEL_XCVR
|
|
ENDTITLE
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0000
|
|
REG_VERSION
|
|
Version Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
VERSION[31:0]
|
|
RO
|
|
Version number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0001
|
|
REG_ID
|
|
Instance Identification Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
ID[31:0]
|
|
RO
|
|
Instance identifier number.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0002
|
|
REG_SCRATCH
|
|
Scratch (GP R/W) Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:0]
|
|
SCRATCH[31:0]
|
|
RW
|
|
Scratch register.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0004
|
|
RESETN
|
|
Reset Control Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[0]
|
|
RESETN
|
|
RW
|
|
If clear, link is held in reset, set this bit to 0x1 to activate link. Note that the reference clock must be active before setting this bit.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0005
|
|
REG_STATUS
|
|
Status Reporting Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[0]
|
|
STATUS
|
|
RO
|
|
After setting the RESETN bit above, wait for this bit to set. If set, indicates successful link activation.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0006
|
|
REG_STATUS_32
|
|
Status Reporting Register
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:NUM_OF_LANES]
|
|
RESERVED
|
|
RO
|
|
0
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[NUM_OF_LANES]
|
|
UP_PLL_LOCKED
|
|
RO
|
|
After setting the RESETN bit above, wait for this bit be to set.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[NUM_OF_LANES-1:0]
|
|
CHANNEL_N_READY
|
|
RO
|
|
After setting the RESETN bit above, wait for this registers to be set.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0007
|
|
REG_FPGA_INFO
|
|
FPGA device information :git-hdl:`Intel Encoded Values <library/scripts/adi_intel_device_info_enc.tcl>`
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:24]
|
|
FPGA_TECHNOLOGY
|
|
RO
|
|
Encoded value describing the technology/generation of the FPGA device (e.g., cyclone V, arria 10, stratix 10)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[23:16]
|
|
FPGA_FAMILY
|
|
RO
|
|
Encoded value describing the family variant of the FPGA device(e.g., SX, GX, GT or zynq, kintex, virtex)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[15:8]
|
|
SPEED_GRADE
|
|
RO
|
|
Encoded value describing the FPGA's speed-grade
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[7:0]
|
|
DEV_PACKAGE
|
|
RO
|
|
Encoded value describing the device package. The package might affect high-speed interfaces
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0009
|
|
REG_GENERIC_INFO
|
|
Physical layer info
|
|
ENDREG
|
|
|
|
FIELD
|
|
[31:28]
|
|
RESERVED
|
|
RO
|
|
0
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[27:24]
|
|
XCVR_TYPE[3:0]
|
|
RO
|
|
Refers to the transceiver speed grade 0-9.
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[23:12]
|
|
RESERVED
|
|
RO
|
|
0
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[11:9]
|
|
RESERVED
|
|
RO
|
|
0
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[8]
|
|
TX_OR_RX_N
|
|
RO
|
|
Transceiver type (transmit or receive)
|
|
ENDFIELD
|
|
|
|
FIELD
|
|
[7:0]
|
|
NUM_OF_LANES
|
|
RO
|
|
Physical layer number of lanes.
|
|
ENDFIELD
|
|
|
|
############################################################################################
|
|
############################################################################################
|
|
|
|
REG
|
|
0x0050
|
|
REG_FPGA_VOLTAGE
|
|
FPGA device voltage information
|
|
ENDREG
|
|
|
|
FIELD
|
|
[15:0]
|
|
FPGA_VOLTAGE
|
|
RO
|
|
The voltage of the FPGA device in mv
|
|
ENDFIELD
|