Jul. 17 2015 T1 version 0x100b and T2 version 0x2b Above versions support 9 bit SN Apr. 11 2015 T1 version 0x100a and T2 version 0x21 for link version 16 Mar 29 2015 T1 version 0x1006 and T2 version 0x21 Latest daq_link_v6(v1.9) used, T1 reg 0x1 defaulted as 0x1180 Added reg 0x17, set its bit 31 it can be used with firmware 0x4xxx for firmware 0x2xx, this bit must be 0(default) Need a TTS-TTC loopback to work for T1 firmware 0x4xxx. August 25 2014 T1 version 0x1003 and T2 version 0x21 This version emulates uHTR with trigger port enabled. Created for 6vlx130t only July 05 2014 T1 version 0x1002 and T2 version 0x21 Fixed a bug in fake_length generation. Now seed is 17 bit long July 03 2014 T1 version 0x1001 and T2 version 0x21 New version can generate random length events. now there are two length size registers: If they are set to equal the length is fixed as before. If they are unequal, they represent the upper and lower limits of the length. register 0x1a is used as the seed of random number generator. This ensures sequence can be reproduced. If the seed is set to all 1, which is not legal, the sequence is complete random and can not be reproduced. The above three registers are at 0x18, 0x19 and 0x1a. notice that the pattern register has been moved to 0x1b now May. 06 2014 T1 version 0x1000 and T2 version 0x209 This version is used to emulate an AMC module for AMC13 test. Its usage is very simple: The test function is enabled by default(bit 7 of register 1 set to 1) write to register 0x18 to set AMC payload length in unit of 64 bit word.(AMC event header/trailer not included) write 1 to register 0 to reset it module is ready now You can also use register 1 to set its TTS signal and check it by reading amc13xg registers 0xe1a, 0xe1b and 0xe1c or you can also check it at amc13xg's TTS output Spartan chip default IP address 192.168.1.(254 - 2*SN) T1 chip default IP address 192.168.1.(255 - 2*SN) T1 chip memory map: 0x0 read/write write: bit 0 general reset(ddr3 memory controller not encluded) write: bit 1 counter reset write: bit 5 reset ddr3 memory controller write: bit 10 if bit 10 reads '0', it sends a burst of local L1A if bit 10 reads '1', it only resets it to '0' write: bit 11 sends event number reset thru TTC when in local L1A mode write: bit 12 sends orbut number reset thru TTC when in local L1A mode write: bit 26 set continous local L1A(setup with register 0x1c) read: 0 reads '1' when any of the enabled SFP ports is down read: 1 monitor buffer overflow read: 2 monitor buffer full read: 3 monitor buffer empty read: 5 TTC not ready read: 6 TTC bcnt error read: 7 TTC single bit error read: 8 TTC multi-bit error read: 9 TTC sync lost(L1A buffer overflow) read: 10 continous local L1A on(setup with register 0x1c) read: 13 L1A overflow warning read: 15 if 0, DDR memory reset done read: bit 31-24 T1 board SN 0x1 read/write bit 31-16 read only Virtex firmware version bit 15 not used bit 14 if '1', monitor buffer full will stop event builder bit 13 if '1', send all data to downstream when ttc reset is received. if '0', flush all data when ttc reset is received. bit 12 if '1', TTS outputs correspond to bits 3-0 of register 0x19 instead of TTS state when run bit(bit 0) is '1', this bit will be forced to '0' bit 11-9 not used bit 8 if '1', TTS output is TTC signal output(you have to set bit 2 also to use this feature) bit 7 if '1', generate fake event upon receiving L1A bit 6 if '0', memory test uses 64bit PRBS. If '1', uses 32 bit sequencial numbers. bit 5 '1' enables non-standard TTCrx broadcast commands bit 4 '1' enables memory self test bit 3 if '1', pauses event building. For debugging only bit 2 if '1', uses internally generated L1A bit 1 '1' enables DAQLSC bit 0 run mode 0x4 SFP Control and Status register R/w read: bit 31-16 always '0' bit 15 '1' disables TTS transmitter bit 14 '1' disables SFP2 transmitter bit 13 '1' disables SFP1 transmitter bit 12 '1' disables SFP0 transmitter bit 11 '1' indicates TTS TxFault bit 10 '1' indicates SFP2 TxFault bit 9 '1' indicates SFP1 TxFault bit 8 '1' indicates SFP0 TxFault bit 7 '1' indicates TTC_LOS or TTC_LOL bit 6 '1' indicates SFP2 Receiver signal lost bit 5 '1' indicates SFP1 Receiver signal lost bit 4 '1' indicates SFP0 Receiver signal lost bit 3 '1' indicates TTC/TTS SFP absent bit 2 '1' indicates SFP2 absent bit 1 '1' indicates SFP1 absent bit 0 '1' indicates SFP0 absent write: bit 31-16 SLINK ID(bits 15-14 always '0') bit 15-12 write '1' to disable the transmitter other bits not writable offset 0x7 AMC board ID R/W read: bit 31-16 always '0' bit 15-0 board ID write: bit 31-16 not used bit 15-0 board ID offset 0x18 payload size in 64bit words of faked HTR event R/W read: bit 31-18 always '0' bit 17-0 payload size write: bit 31-18 not used bit 17-0 payload size in 64bit words of faked HTR event(default 0x400) offset 0x17 AMC board ID R/W bit 31 if '1', emulates uHTR(uses trigger port), and in this case, TTS loopback must be used if no external TTC is available. If '0', emulates AMC module not using the trigger port. bit 30-0 not used, always '0' offset 0x19 second payload size in 64bit words of faked HTR event R/W read: bit 31-18 always '0' bit 17-0 payload size write: bit 31-18 not used bit 17-0 payload size in 64bit words of faked HTR event(default 0x400) offset 0x1a payload size random number seed R/W read: bit 31-17 always '0' bit 16-0 random number seed write: bit 31-17 not used bit 16-0 random number seed(defalt all one) offset 0x1b AMC TTS pattern register R/W read: bit 31-4 always '0' bit 3-0 TTS pattern write: bit 31-4 always '0' bit 3-0 TTS pattern