wiki:CSC DCFEB

The CMS CSC group have asked for some help testing the GBTx interface on their xDCFEB boards, which are due to go into production soon (mid-2018). We held a kick-off meeting on 2018-06-06.

Reference

Work Log (add new entries at top)

2018-03-03 (Indara)

I tested the v004, v005, and v006 AMC13 firmware using the xDCDEB FW version v07 version and the dcfeb_promless_with_gbt_rx_and_deskew_clk0_good_phase1_dll11.txt.

A few words about xDCFEB FW v07: This version clocks the data in with the DeSkew? Clock 0 (80 MHz) on the input and clocks the data out with the same clock. In between, the data is stored in a FIFO. The readout of the FIFO does not start until there are 10 words in the FIFO. It then continues until the FIFO is empty. So to get data to return through the GBTx you have to send a minimum of 10 valid words.

AMC13 v004 Test summary: Reads the first word twice and then reads 9 of the 10 words sent and fills the rest of the RX buffer with the last word it read (word 9).RS error is always false.

== Status ==
Status register: 0xb00001f
Firmware version = 11
rx_wordclk:       locked (ok)
rx_frameclk:      locked (ok)
GBT_TX:           ready  (ok)
GBT_mgt:          ready  (ok)
GBT_RX:           ready  (ok)
SFP absent:       false  (ok)
SFP RX LOS:       false  (ok)
RS error:         false  (ok)
Local clk lock:   false  (ok)
Fabric clk lock:  false  (ok)

== Control ==
Control register: 0x80
Unused bit o:     clear
Disable SFP TX:   no (ok)
CDCE from Ipbus:  yes (ok)
CDCE fabric in:   yes (ok)
CDCE on:          yes (ok)
CDCE dis sync:    yes (ok)
TX repeat mode:   no
Standalone clk:   yes

clock           tx_wordclk value=4288 (nominal 4289) error=1
clock           rx_wordclk value=4288 (nominal 4289) error=1
clock          tx_frameclk value=c79b (nominal c79c) error=1
clock          rx_frameclk value=c79b (nominal c79c) error=1
clock           fabric_clk value=9fff (nominal c79c) error=10141
clock           mgt_refclk value=31e6 (nominal 4289) error=4259

--> t
Running DCFEB loop-back test
Setting pattern to 0xf0ccfffc 0x00000000 0x00000000
bits = 32  n_words = 1  n_bits = 0  mask = 0x0
Mismatch at word 0x1 + 0 (0x0 != 0x0)
DCFEB loop-back test FAILED with 9 errors
--> db 12
Configuration:
00:  0x00000000 0x00000080 0x0b00001f 0x000007f0
01:  0xf0ccfffc 0x00000000 0x00000000 0x0000000a
02:  0x00004288 0x0000c79b 0x00004288 0x0000c79b
03:  0x00009fff 0x000031e6 0x00000000 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1100 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1100 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1111 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1100 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1111 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1111 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 1100 0011 0011 1111 1111 0000 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1100 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1100 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1111 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1111 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1100 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1111 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1111 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1111 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 0011 0011 1111 1111 0000 0011

AMC13 v005 Test summary: Not reading the first and last word. But then when looping around again on FIFO, I see all 10 words.

AMC13 version 0xc005
== Status ==
Status register: 0xb00001f
Firmware version = 11
rx_wordclk:       locked (ok)
rx_frameclk:      locked (ok)
GBT_TX:           ready  (ok)
GBT_mgt:          ready  (ok)
GBT_RX:           ready  (ok)
SFP absent:       false  (ok)
SFP RX LOS:       false  (ok)
RS error:         false  (ok)
Local clk lock:   false  (ok)
Fabric clk lock:  false  (ok)

== Control ==
Control register: 0x80
Unused bit o:     clear
Disable SFP TX:   no (ok)
CDCE from Ipbus:  yes (ok)
CDCE fabric in:   yes (ok)
CDCE on:          yes (ok)
CDCE dis sync:    yes (ok)
TX repeat mode:   no
Standalone clk:   yes

clock           tx_wordclk value=4289 (nominal 4289) error=0
clock           rx_wordclk value=4288 (nominal 4289) error=1
clock          tx_frameclk value=c79b (nominal c79c) error=1
clock          rx_frameclk value=c79b (nominal c79c) error=1
clock           fabric_clk value=9fff (nominal c79c) error=10141
clock           mgt_refclk value=31e6 (nominal 4289) error=4259

--> db 10
Configuration:
00:  0x00000000 0x00000080 0x0b00001f 0x000007f0
01:  0xf0ccfffc 0x00000000 0x00000000 0x0000000a
02:  0x00004288 0x0000c79b 0x00004289 0x0000c79b
03:  0x00009fff 0x000031e6 0x00000000 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 1100 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 1100 0011
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0000 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0011 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0011 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0011 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 1111 1111 1100 0000 1100 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000

Now if I try to read the full FIFO 2x (db 523), I see the whole data! See words 513 - 523 below:

 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0000 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 0011 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 1100 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 1111 1111 1100 0000 1100 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000

AMC13 v006 Test summary: Not reading the last word. But then when looping around again on FIFO, I see all 10 words. Maybe I shouldnt be paying attention to any words about 512??

--> s
AMC13 version 0xc006
== Status ==
Status register: 0xb00001f
Firmware version = 11
rx_wordclk:       locked (ok)
rx_frameclk:      locked (ok)
GBT_TX:           ready  (ok)
GBT_mgt:          ready  (ok)
GBT_RX:           ready  (ok)
SFP absent:       false  (ok)
SFP RX LOS:       false  (ok)
RS error:         false  (ok)
Local clk lock:   false  (ok)
Fabric clk lock:  false  (ok)

== Control ==
Control register: 0x0
Unused bit o:     clear
Disable SFP TX:   no (ok)
CDCE from Ipbus:  yes (ok)
CDCE fabric in:   yes (ok)
CDCE on:          yes (ok)
CDCE dis sync:    yes (ok)
TX repeat mode:   no
Standalone clk:   no

clock           tx_wordclk value=4289 (nominal 4289) error=0
clock           rx_wordclk value=4288 (nominal 4289) error=1
clock          tx_frameclk value=c79b (nominal c79c) error=1
clock          rx_frameclk value=c79b (nominal c79c) error=1
clock           fabric_clk value=9fff (nominal c79c) error=10141
clock           mgt_refclk value=31e6 (nominal 4289) error=4259

--> db 10
Configuration:
00:  0x00000000 0x00000000 0x0b00001f 0x000007f0
01:  0xf0ccfffc 0x00000000 0x00000000 0x0000000a
02:  0x00004289 0x0000c79b 0x00004288 0x0000c79b
03:  0x00009fff 0x000031e6 0x00000000 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 0011 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 0011 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 0011 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1100 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1100 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1100 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1100 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1111 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0011 0011 0011 0011 0000 1100 1111 0011
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 0011 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 0011 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 1100 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 1100 1100
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 1100 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 0011 0011 0000 1100 1111 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000

2018-02-18 (Eric)

Starting to test AMC13 version. Other tests done but not documented (Indara). Wu has installed new firmware (notes) on AMC13 serial number 318. IP address set by serial number to 192.168.3.131 (for the T1 board).

Connected direct loop-back fiber. Nothing is locked. Turns out that writing to 0x10001 also writes to 0x1 thus messing up the AMC13 configuration. Turning it back over to Mr Wu.

2019-02-21 (Eric)

HOWTO turn on AMC13 backplane clock (in case crate is power cycled, etc):

Log on to daq@cms4.bu.edu (password on whiteboard in the lab), then:

  • cd amc13
  • source env.sh
  • AMC13Tool2.exe -p ./amc13/etc/amc13 -c 111
  • en 1-12 t
[daq@cms4 ~]$ cd amc13
[daq@cms4 amc13]$ source env.sh
[daq@cms4 amc13]$ AMC13Tool2.exe -p ./amc13/etc/amc13 -c 111
Address table path "./amc13/etc/amc13" set on command line
use_ch false
Created URI from IP address:
  T2: ipbusudp-2.0://192.168.1.32:50001
  T1: ipbusudp-2.0://192.168.1.33:50001
Using AMC13 software ver:50722
Read firmware versions 0x2263 0x32
flavor = 2  features = 0x000000b2
>en 1-12 t
parsed list "1-12" as mask 0xfff
Enabling TTS as TTC for loop-back
AMC13 out of run mode
AMC13 is back in run mode and ready
>

2019-02-20 (Eric)

Struggling with new FC7. Some success. Can make working SD card using this recipe:

IMPORTANT: Has to be BIN file not BIT file

Convert to BIN file as per user guide:

  • Start impact (from ISE 14.7 works)
  • Choose "Generic parallel prom" with "Auto select PROM" checked
  • Choose BIN file with swap bits

If needed, obtain and install the =imgtool= utility from the SVN link the the FC7 user manual, or grab a local copy: ic_mmc_v1_6_1.zip.

Then format the SD card (/dev/mmcblk0 on my Ubuntu system).

   $ sudo ./imgtool /dev/mmcblk0 format Firmware
   $ sudo ./imgtool /dev/mmcblk0 add GoldenImage.bin fc7_top.bin

Make sure Switch 'E' (number 5 up from bottom is LEFT or DOWN)

If you have trouble with the SD card, try this to erase the first block:

 $ sudo dd if=/dev/zero of=/dev/xxxx bs=1024 count=1

Now the old board comes up fine. "New" board (2 of them) fail in the same way... the top LED is steady green indicating that the FPGA is configured, but can't ping the board. Also mysterious is that on the old board the LEDS are pink after booting while they are not on the new board.

Here is some info on the system LEDs from reading the code fc7_DCFEB/fc7_DCFEB.srcs/sources_1/imports/fc7half/HB_HE_FC7/fw/src/patch/system_core.vhd:

    ------------------                                                                                                                                                           
    --  sysled2 (bottom)                                                                                                                                                         
    ------------------                                                                                                                                                           
    sysled2           <=   sysled_blue    when rarp_select='1' and use_i2c_eeprom_i='1' and (i2c_eep_done='1' and mac_from_eep='1') -- rarp,    eeprom ok                        
                      else sysled_purple  when rarp_select='1' and use_i2c_eeprom_i='1' and (i2c_eep_done='0' or  mac_from_eep='0') -- rarp,    eeprom failure                   
                      else sysled_red     when rarp_select='1' and use_i2c_eeprom_i='0'                                             -- rarp,    no eeprom (not allowed)          
                      else sysled_green   when rarp_select='0' and use_i2c_eeprom_i='1' and (i2c_eep_done='1' and mac_from_eep='1') -- no rarp, eeprom ok                        
                      else sysled_orange  when rarp_select='0' and use_i2c_eeprom_i='1' and (i2c_eep_done='0' or  mac_from_eep='0') -- no rarp, eeprom failure                   
                      else sysled_white   when rarp_select='0' and use_i2c_eeprom_i='0'                                             -- no rarp, no eeprom                        
                      else sysled_off;                                                                                              -- other                            

Not so useful. Use Wireshark to find MAC address of new FC7 (08:00:30:00:22:47) and add IP address 192.168.100.11 to /etc/ethers on cmssun1. Now we can ping the board at that IP.

2019-02-14 (Indara)

Every time you power on the board, you should upload the GBTX configuration using the i2c software.

If the dongle is connected to the GBTX during a power cycle, it is providing a current to the GBTX and therefore when the board gets turned back on, it is possible that the GBTX will retain its configuration however, this is not reliable.

2019-02-14 (Indara)

NOTE: You should always sent a command T when you first start the software to make sure you kill any continuous sending of patterns that the previous person was sending and forgot to kill :). Also previous person: don't forget to send a command "T" after any running any tests with the "T 0 _" command.

First problem I found was that continuous patterns were being sent from the fc7 to the board. I killed that with the T command. I did not see the done bit come on so I pushed the reset button on the board, red LEDs flash (board being programmed) and the done bit came on. Then I ran Eric's test from yesterday. Saw the same results that he did. Since Ben said that the clock differences in the firmware between v4 and v5 would affect the value of the phase shifter, I went to the i2c software and scanned the phase shifter values (https://www.dropbox.com/s/dr7mtan688l23k7/phase%20shifter.png?dl=0). The values I scanned was pa(0) - pa(7) for G0 and G1. Then I reran the test. And now it looks beautiful :).

Now the only thing is the reversal of bits.

--> t 0
Running DCFEB loop-back test
Setting for continuous transmit (just 'T' again to stop)
--> db 20
Configuration:
00:  0x00000000 0x00000040 0x0a00039f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79c 0x00004288 0x0000c79c
03:  0x0000c79c 0x00004289 0x11e55b77 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 0011 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 0011 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 0011 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1100 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1100 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1100 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1100 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1111 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 0011 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0000 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0000 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0011 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0011 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1100 0000 1111 0000 1100 0011 1111
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0001 0101 0101 0101 0001 0001 0000 0101
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 1100 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1100 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1100 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0001 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0011 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0011 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 0011 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1111 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 1111 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1111 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1100 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0011 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0011 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 0000 0011 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 0000 0011 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 0011 0000 1111 0000 0011 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 1100 0011 0000 1111 0000 0011 1111

2019-02-13 (Eric)

NOTE: current GBTx configuration is in an attachment at the bottom of the Wiki

Fixed-pattern loop-back (e.g. "T 0 0x8000") works OK. However, the standard test with a counter (e.g. "T 0") produces bad-looking results:

--> t 0
Running DCFEB loop-back test
Setting for continuous transmit (just 'T' again to stop)
--> i
Filling read buffer
Use 'D' to display
--> db
Configuration:
00:  0x00000000 0x00000040 0x0a00039f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79d 0x00004289 0x0000c79c
03:  0x0000c79c 0x00004288 0x56f7da44 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1100 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1100 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1100 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1111 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0011 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 0011 1100 0011 0011 0000 0011
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1001 1100 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0111 1100 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1010 1001 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0100 0011 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1001 0011 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0111 0011 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1010 0111 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0100 1111 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1001 1111 0011 0011 0011 1100 1111 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0111 1111 0011 0011 0011 1100 1111 0011
--> 

Note that in the Tx buffer as one would expect there is a counter, with the bits properly doubled due to the e-Link data format. In the RX buffer, several of the bits are not properly doubled where there are transitions. There is still a problem here. Maybe the GBTx eLink timing needs tweaking?

2019-02-07 (Indara) Continuous pattern: 0x0

--> i
Filling Rx buffer with 0x00000000
Filling read buffer
Use 'D' to display
--> t 0 0 
Running DCFEB loop-back test
Sending 0 words with data = 0x00000000
Setting for continuous transmit (just 'T' again to stop)
--> db 20
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79c 0x00004289 0x0000c79d
03:  0x0000c79c 0x00004289 0x1e81c341 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0000
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0010 1010 1010 1010 0010 0010 0000 1010
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000

Continuous pattern: 0x1

--> t 0 0x1
Running DCFEB loop-back test
Sending 0 words with data = 0x00000001
Setting for continuous transmit (just 'T' again to stop)
--> db 20
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79c 0x00004288 0x0000c79c
03:  0x0000c79c 0x00004288 0x1e81c341 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 0000 0011
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0110 1010 1010 1010 0010 0010 0000 1010
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1100 0000 0000 0000 0000 0000 0000 0000

0x8000

--> i
Filling Rx buffer with 0x00000000
Filling read buffer
Use 'D' to display
--> t 0 0x8000
Running DCFEB loop-back test
Sending 0 words with data = 0x00008000
Setting for continuous transmit (just 'T' again to stop)
--> db 20
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004288 0x0000c79c 0x00004289 0x0000c79d
03:  0x0000c79c 0x00004289 0x1e81c341 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 0000 0000 0000 0000 0000 0000 0000
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1101 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0010 1010 1010 1010 0010 0010 0000 1011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0011

0xffff

--> t 0 0xffff
Running DCFEB loop-back test
Sending 0 words with data = 0x0000ffff
Setting for continuous transmit (just 'T' again to stop)
--> db 20
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004288 0x0000c79c 0x00004288 0x0000c79c
03:  0x0000c79d 0x00004289 0x1e81c341 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 1111 1111 1111 1111 1111 1111 1111
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0111 1111 1111 1111 0111 0111 0101 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1111 1111 1111 1111 1111 1111 1111 1111

2019-02-07 (Eric)

Tagging the software, working on fixing a few things in trunk. Use the tag below for the functionality through 2/6/19

2019-02-06 (Indara)

Following the FPGA->GBTX communication test, I went back to run the loopback test.

  1. I went back to xDCFEB firmware version v02, which is not constantly sending data from the FPGA to the GBTX.
  2. I tried to run the loopback test and get nothing in the RX buffer
  3. I disabled all bytes matching in the loopback test (changed hw.getNode( "mask").write( BOOST_BINARY( 1111)); to hw.getNode( "mask").write( 0xfff); on line 281 of the software).
  4. I try to run the loopback again and nothing:
    --> i
    Filling Rx buffer with 0x00000000
    Filling read buffer
    Use 'D' to display
    --> t
    Running DCFEB loop-back test
    --> db 10
    Configuration:
    00:  0x00000000 0x00000000 0x0600009f 0x000007ff
    01:  0xf0ccfffc 0x00000000 0x00000000 0x00000004
    02:  0x00004289 0x0000c79d 0x00004288 0x0000c79c
    03:  0x0000c79c 0x00004289 0xa41bf00e 0x00000000
    TX buffer:
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 0011 0011
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 0011 1100
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 0011 1111
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1100 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1100 0011
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1100 1100
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1100 1111
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1111 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1111 1100 1100 1100 1100 1111 0011
    RX buffer:
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
     0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
    

I tried a continuous loopback test with set pattern:

--> i
Filling Rx buffer with 0x00000000
Filling read buffer
Use 'D' to display
--> T 0 0xf
Running DCFEB loop-back test
Sending 0 words with data = 0x0000000f
Setting for continuous transmit (just 'T' again to stop)
--> db 10
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79c 0x00004289 0x0000c79c
03:  0x0000c79c 0x00004289 0xa41bf00e 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0000 0000 0000 0000 0000 1111 1111
RX buffer:
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 0000 1100 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 1111 0000 1100 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 1100 1100 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 0000 0000 0000 0000 0000 0000

and another one:

--> i
Filling Rx buffer with 0x00000000
Filling read buffer
Use 'D' to display
--> T 0 0xABCD
Running DCFEB loop-back test
Sending 0 words with data = 0x0000abcd
Setting for continuous transmit (just 'T' again to stop)
--> db 10
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004288 0x0000c79c 0x00004289 0x0000c79c
03:  0x0000c79c 0x00004289 0xa41bf00e 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1100 1100 1100 1111 1111 0000 1111 0011
RX buffer:
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 1111 0011 1111 0011 0011 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 1111 1111 0011 0011 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 0000 1111 1111 0011 0011 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 1111 0011 0011 0000 1111
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 0000 1111 1111 0011 0011 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 0000 1111 1111 0011 0011 0011

and another one:

--> t 0 0x1234
Running DCFEB loop-back test
Sending 0 words with data = 0x00001234
Setting for continuous transmit (just 'T' again to stop)
--> db 50
Configuration:
00:  0x00000000 0x00000040 0x0600009f 0x000007ff
01:  0xf0ccfffc 0x00000000 0x00000000 0x00000100
02:  0x00004289 0x0000c79c 0x00004289 0x0000c79c
03:  0x0000c79c 0x00004289 0xa41bf00e 0x00000000
TX buffer:
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  1111 0000 1100 1100 1111 1111 1111 1100
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
 0000 0000 0000 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000 0000 1111 0000  0000 0011 0000 1100 0000 1111 0011 0000
RX buffer:
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0001 0101 0101 0101 0001 0001 0000 0101
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0011 1010 1011 1111 0111 0010 0001 1010
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0111 0000 0011 1111 1111 0000 0011 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  1010 0100 0011 1111 1111 0000 0011 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1000 0010 1010 1010 0000 0010 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0001 0101 0101 0101 0001 0001 0000 0101
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0010 1110 1111 1010 0011 0010 0100 1010
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000
 0000 0000 0000 1111 0000 0011 0000 0000  0000 0000 0000 0000 0000 0011 0000 0000  0000 1100 1111 0000 0011 0000 1100 0000

Looks to me that the times when the pattern matches, the RX is the inverted version of the TX. And there there are some gaps in between when its not matching.

2019-02-06 (Indara) FPGA->GBTX communication test Using xDCFEB FW v04, I ran a test to configure the GBTX. The test is supposed to be constantly sending data from the FPGA to the GBTX such that the low order 8 bits are a free running counter and the high order 8 bits are shift register rotating a single bit. To make this work, I had to enable eportRX G0 and G1, scan the phase-shifter (values 9-14 work, chose 11), and double checked that Clock DES 0 (TTC outputs) frequency was set to 40MHz ("0"). New configuration is in attached file: GBTX_20190206_221929.txt

After this, ran test successfully:

RX buffer:
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 1111 0011 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 1111 0011 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 1111 0011 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 1111 0011 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 1111 0011 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 1111 0011 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 1111 0011 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 1111 0011 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 1111 0011 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 1111 0011 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 1111 0011 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 1111 0011 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 0011 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 1111 0011 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 0000 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 0000 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 0000 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 0000 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 0000 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 0000 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 0000 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 0000 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 0000 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 0000 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 0000 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 0000 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 0000 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 0000 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 0000 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 1100 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 1100 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 1100 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 1100 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 1100 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 1100 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 1100 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 1100 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 1100 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 1100 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 1100 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 1100 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 1100 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 1100 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1100 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 1100 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0011 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 0011 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 0011 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 0011 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 0011 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 0011 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 0011 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 0011 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 0011 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 0011 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 0011 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 0011 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 0011 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 0011 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 0011 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 0011 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 1111 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 1111 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 1111 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 1111 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 1111 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 1111 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 1111 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 1111 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 1111 1111 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 1111 1111 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 1111 1111 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 1111 1111 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 1111 1111 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 1111 1111 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 1111 1111 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 1111 1111 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 0000 0000 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 0000 0000 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 0000 0000 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 0000 0000 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 0000 0000 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 0000 0000 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1100 0000 0000 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1100 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0011 0000 0000 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0011 0000 0000 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0011 0000 0000 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0011 0000 0000 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1111 0000 0000 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1111 0000 0000 0000 0000 0011 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 1111 0000 0000 0000 0000 0000 1100
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 1111 0000 0000 0000 0000 0000 0011
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 0000 1100 0000 1100 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 0000 1100 0000 0011 0000 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0011 0000 1100 0000 0000 1100 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1111 0000 1100 0000 0000 0011 0000 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  0000 1100 1100 0000 0000 0000 1100 0000
 0000 0000 0000 1111 1111 1111 0011 0000  0000 0000 0000 0000 1111 1111 0000 0000  1100 1100 1100 0000 0000 0000 0011 0000 

Here’s the relavent code:

2019-01-31 (Eric, Indara)

Trying test modes on GBTx. GBTx manual p. 61 describes 4 modes, selected by value in register 28 (txTestMode[1:0] as follows:

Mode Result
0 Normal mode (e-port data)
1 Fixed pattern hex aaa_bbbb_aaaa_bbbb_aaaa_bbbb_aaaa_bb
2 Counters: ctr[25:0] + ctr[29:0] + ctr[29:0] + ctr[29:0]
3 "0000" + 16 * (prbs[6:0])

Mode 1 looks good:

RX buffer:
00:  0xbbaaaabb 0xbbaaaabb 0x000aaabb 0x00000000
04:  0xbbaaaabb 0xbbaaaabb 0x000aaabb 0x00000000
08:  0xbbaaaabb 0xbbaaaabb 0x000aaabb 0x00000000

Mode 2 is mysteriously scrambled:

RX buffer:
00:  0x2e4c4534 0x4b93114d 0x0004c453 0x00000000
04:  0x3e4c4534 0x4f93114d 0x0004c453 0x00000000
08:  0x4e4c4535 0x5393114d 0x0004c453 0x00000000
12:  0x5e4c4535 0x5793114d 0x0004c453 0x00000000
16:  0x6e4c4535 0x5b93114d 0x0004c453 0x00000000
20:  0x7e4c4535 0x5f93114d 0x0004c453 0x00000000
24:  0x8e4c4536 0x6393114d 0x0004c453 0x00000000
28:  0x9e4c4536 0x6793114d 0x0004c453 0x00000000

2019-01-31 (Miranda)

To program DCFEB (CMS3):

  • On SW1, turn on switches 2 & 6 (default)
$ source /opt/Xilinx/14.7/LabTools/settings64.sh 
$ impact
  • Double click boundary scan
  • Right click empty white screen
  • Select initialize chain, five devices will appear
  • Respond no to assigning files
  • Right click first device
  • Select assign new configuration file
  • xDCFEB firmware can be found https://www.asc.ohio-state.edu/physics/cms/firmwares/
  • Assign ds4550-bsd to first device
  • Assign gbt_test_v0*_0.mcs to second device
  • Assign gbt_test_v0*_1.mcs to third device
  • Right click second device
  • Select set programming properties
  • Select load FPGA and parallel mode
  • Highlight first and second device, click program
  • When programming is complete, done bit (green LED by FPGA) should be lit

To configure GBTx:

$ java -jar programmerv2.20180725.jar 
  • Click Scan. If everything is working correctly, you should be able to read both a dongle status and a GBTx #
  • Click import
  • Change file type to .txt in subsequent screen
  • Select file dcfeb_promless_mod.txt and click open
  • Click Write GBTx
  • Click Read GBTx, state should change to Idle, 18'h
  • Select Advanced mode tab
  • Set Register # to 35 in Register Access
  • Click Read
  • Read should display COh, 192'd

2019-01-30 (hazen)

Testpoints (from Verilog source sent by Ben; NOT SURE this is what's in the running firmware).

assign tp_b24_out = {GBT_DSKW_CLK,2'b00};
assign tp_b25_out = GBT_RCV_DATA;
assign tp_b26_out = 2'b00;
assign tp_b35_out = {4'b0,2'b0,3'b0,GBT_READ_ENA,GBT_TRNS_VLD,GBT_RCV_VLD,GBT_RCV_DATA_VLD,GBT_RCV_RDY};

PDF with (some) testpoint locations: http://gauss.bu.edu/svn/cms-csc/Docs/testpoings_v3a.pdf

2019-01-28

Fix permissions for CERN I2C dongle in linux (cms3). Add a file in /dev/udev/rules.d called 53-CERN.rules In that file add:

   ATTR{idVendor}=="16c0", MODE:="666"

This will allow the I2C dongle to be used by any user. Unplug and replug the dongle for the change to take effect.

2019-01-26

Updated control program. Uses GNU readline. Added generic R and W commands, plus a first attempt at an XDCFEB test. Some infrastructure in the library to handle doubling bits, formatting input and output words, etc.

To install/run (on cms4):

  $ svn co http://gauss.bu.edu/svn/cms-csc/Software/xdcfeb-test/trunk/ xdcfeb
  $ cd xdcfeb
  $ source env.sh
  $ make
  $ bin/xdcfeb

Here are the currently supported commands:

Commands:
  s              display status in decoded format, including clocks
  x              reset GBT-FPGA core
  c <value>      write single bit to command register to trigger an action
  k <value>      write value to control register
  w <adx> <v>    write <v> to address <adx> on FC-7
  r <adx> [<n>]  read from <adx> and display (optional count)
  d              dump registers and first 32 words of Tx and Rx buffers
  l              setup and run fiber loop-back test (do dump after)
  t              setup and run XDCFEB loop-back test

2019-01-25

Wrote control program. SVN: http://gauss.bu.edu/svn/cms-csc/Software/xdcfeb-test/trunk/

Check out from SVN. Navigate to trunk directory and source env.sh. Then make. Then bin/xdcfeb. Type "h" for help. As of now the program can run the loop-back test and enter values for the command and control registers. More to come...

Testing status: loop-back to FC-7 works. GBTx doesn't seem to receive the clock (looks intermittent on the XDCFEB test point below the serial number square). The FC-7 shows "LOS" (loss of signal) on it's receiver.

2018-11-02 Getting started

Met briefly with Indara, Ben. Reviewed plan:

  • Develop simple FC-7 firmware with circular buffers for Tx and Rx on one GBT link. Include useful status registers and trigger on specific bits/patterns to stop capture.
  • Move the VLDB to the CMS lab with USB attachment to one of the CMS machines
  • Give Indara an account so she can install the required software

GBTx Output mapping (2X eLink mode)

(Updated from 1/23/19 email from BB)

GBTX DIO Downlink Frame Name Loop-back FPGA Config
23 79, 78 gbt_sel_gbt_cclk_src Don't care 0
22 77, 76 gbt_sel_cclk_src Don't care 1
21 75, 74 gbt_sel_mstr_~slave Don't care 0
20 73, 72 gbt_sel_8b_16b 0 0
19 71, 70 gbt_sel_gbt_xprm 1 1
18 69, 68 gbta_override 1 1
17 67, 66 gbt_prg_ena 0 1
16 65, 64 !gbt_prg Don't care 1
15 63, 62 PRG_DATA[15] Loop data Configuration data
14 61, 60 PRG_DATA[14]
... ... ...
0 33, 32 PRG_DATA[0]

GBTx Input mapping (2X eLink mode)

GBTX DIN Rx frame bit
15 63, 62
14 61, 60
13 59, 58
12 57, 56
11 55, 54
10 53, 52
9 51, 50
8 49, 48
7 47, 46
6 45, 44
5 43, 42
4 41, 40
3 39, 38
2 37, 36
1 35, 34
0 33, 32

Draft spec / documentation for FC-7 firmware: DCFEBTestFirmware

2018-09-25 Collecting documentation

Looking at XDCFEB schematic:

  • LVDS cable w/ alternate JTAG on page 7
  • JTAG on page 10, 11
  • Most GBTX and FPGA config interface are on pages 44-45 (last pages).

2018-09-25 meeting notes:

What we need:

  • XDCFEB documentation if any
  • XDCFEB layout info (just to identify parts, etc). Gerbers would be fine.
  • An xDCFEB board plus connectors, etc power supply
  • (we have an FC-7)
  • FMC mezzanine with high speed SERDES to SFP (commercial, long lead time?)
  • Eventually: base firmware for XDCFEB

2018-06-06 meeting notes:

Meeting participants: Indara (BU), Ben Bylsma (OSU), Stan Durkin (OSU), Darien Wood (Northeastern)

Other collaborators: Evaldas Juska and Jason (TAMU), also UCLA, UCSB, UC Davis and others

The general plan is to test the production xDCFEB boards at OSU using a VME setup with back-end boards. The xDCFEB has a GBTx ASIC on board which is used to access the configuration interface of the Virtex-6 (XC6VLX130T). They would like us to devise a simple test of this interface. The GBTx has an uplink fiber too but currently it is not foreseen to use this but we should plan to test it as well.

We could write firmware and software for an FC-7 to accomplish this. The bitstream for the XC6VLX130T is 43,719,776 bits, which is larger than the 30Mb or so of block RAM on the 7K420 on the FC-7, but there is a DDR3 on the FC-7 too which could hold the bitstream.

Last modified 4 years ago Last modified on Mar 3, 2019, 10:59:05 PM

Attachments (1)

Download all attachments as: .zip