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 === * Document SVN: http://gauss.bu.edu/svn/cms-csc * Firmware etc: http://gauss.bu.edu/svn/cms-csc/XDCFEB_Testing * Wu FC-7/AMC13 Firmware: http://physics.bu.edu/~wusx/download/DCFEB/ * FC-7 [https://espace.cern.ch/project-FC7/SitePages/Home.aspx Main page] * [http://ohm.bu.edu/~hazen/CMS/FC-7/fc7_user_manual.pdf user manual] (local copy) === 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 ([http://physics.bu.edu/~wusx/download/DCFEB/amc13_DCFEB_address.txt 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: [http://ohm.bu.edu/~hazen/G-2/ic_mmc_v1_6_1.zip 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 * http://gauss.bu.edu/svn/cms-csc/Software/xdcfeb-test/tags/2018-02-07/ '''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: * Download CERN GBTx Programmer Software: https://gitlab.cern.ch/gbtproj/gbtxprogrammer/tree/master/releases {{{ $ 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 write single bit to command register to trigger an action k write value to control register w write to address on FC-7 r [] read from 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 * [https://espace.cern.ch/project-versatile-link/public/default.aspx Versatile Link project] * [https://espace.cern.ch/GBT-Project/VLDB/default.aspx VLDB Demo Board] 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 * DCFEB TWiki page: https://twiki.cern.ch/twiki/bin/viewauth/CMS/CSCdescriptionDCFEB * xDCFEB schematic: http://gauss.bu.edu/svn/cms-csc/Docs/xdcfeb_v3a_schematic.pdf * xDCFEB slides: http://gauss.bu.edu/svn/cms-csc/Meetings/2018-06-06/xDCFEB_status5_CMS_Week.pptx 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.